git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added missing files
[swftools.git]
/
lib
/
png.c
diff --git
a/lib/png.c
b/lib/png.c
index
f114e91
..
abb5a3e
100644
(file)
--- a/
lib/png.c
+++ b/
lib/png.c
@@
-545,8
+545,9
@@
int getPNG(char*sname, int*destwidth, int*destheight, unsigned char**destdata)
}
printf("\n");*/
}
}
printf("\n");*/
}
- if(data)
- free(data);
+ if(data) {
+ free(data); data=0;
+ }
}
if(!zimagedata || uncompress(imagedata, &imagedatalen, zimagedata, zimagedatalen) != Z_OK) {
}
if(!zimagedata || uncompress(imagedata, &imagedatalen, zimagedata, zimagedatalen) != Z_OK) {
@@
-602,6
+603,7
@@
int getPNG(char*sname, int*destwidth, int*destheight, unsigned char**destdata)
}
}
free(old);
}
}
free(old);
+ free(imagedata);
} else if(header.mode == 6 || header.mode == 2) {
int i,s=0;
int x,y;
} else if(header.mode == 6 || header.mode == 2) {
int i,s=0;
int x,y;
@@
-637,6
+639,7
@@
int getPNG(char*sname, int*destwidth, int*destheight, unsigned char**destdata)
else // header.mode = 2
applyfilter3(mode, src, old, dest, header.width);
}
else // header.mode = 2
applyfilter3(mode, src, old, dest, header.width);
}
+ free(imagedata);
} else if(header.mode == 0 || header.mode == 3) {
COL*rgba = 0;
U8*tmpline = (U8*)malloc(header.width+1);
} else if(header.mode == 0 || header.mode == 3) {
COL*rgba = 0;
U8*tmpline = (U8*)malloc(header.width+1);
@@
-726,6
+729,7
@@
int getPNG(char*sname, int*destwidth, int*destheight, unsigned char**destdata)
free(tmpline);
free(destline);
free(rgba);
free(tmpline);
free(destline);
free(rgba);
+ free(imagedata);
} else {
printf("expected PNG mode to be 2, 3 or 6 (is:%d)\n", header.mode);
return 0;
} else {
printf("expected PNG mode to be 2, 3 or 6 (is:%d)\n", header.mode);
return 0;
@@
-883,7
+887,7
@@
void writePNG(char*filename, unsigned char*data, int width, int height)
}
datalen2 = datalen3;
}
datalen2 = datalen3;
- data2 = malloc(datalen2);
+ data2 = (U8*)malloc(datalen2);
if((ret = compress (data2, &datalen2, data3, datalen3)) != Z_OK) {
fprintf(stderr, "zlib error in pic %d\n", ret);
if((ret = compress (data2, &datalen2, data3, datalen3)) != Z_OK) {
fprintf(stderr, "zlib error in pic %d\n", ret);