X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/d1728478ec0a212e2c601cfa911e24ee1018c83d..e4d75d5e84c051b75bf6a81072734da22c44cb21:/src/lbximg.c diff --git a/src/lbximg.c b/src/lbximg.c index 67d8635..a2b7405 100644 --- a/src/lbximg.c +++ b/src/lbximg.c @@ -163,7 +163,6 @@ int outpng(unsigned int frameno, } if (setjmp(png_jmpbuf(png))) { - free(row); png_destroy_write_struct(&png, &info); goto err; } @@ -221,12 +220,11 @@ int outpng(unsigned int frameno, png_destroy_write_struct(&png, &info); fclose(of); + free(row); if (verbose) printf("wrote %s\n", name); - return 0; - err: fclose(of); remove(name); @@ -317,7 +315,7 @@ int decode(LBX_IMG *img, FILE *palf, FILE *override, char **argv) lbximg_getinfo(img, &info); - framebits = malloc(info.nframes / CHAR_BIT + 1); + framebits = calloc(1, info.nframes / CHAR_BIT + 1); if (!framebits) { return EXIT_FAILURE; } @@ -468,6 +466,7 @@ int main(int argc, char **argv) printf("%s is %ux%u LBX image, %u frame(s)%s%s\n", name, info.width, info.height, info.nframes, info.palettesz ? ", embedded palette" : "", + info.chunk ? ", chunked" : "", info.looping ? ", loops" : ""); }