diff --git a/lib/gui/picopng.c b/lib/gui/picopng.c index 3c0659f..ad44efa 100644 --- a/lib/gui/picopng.c +++ b/lib/gui/picopng.c @@ -761,9 +761,12 @@ infp = fopen(fname, "rb"); if (!infp) { perror("fopen"); + free(inbuf); return 1; } else if (fread(inbuf, 1, insize, infp) != insize) { perror("fread"); + free(inbuf); + fclose(infp); return 1; } fclose(infp); @@ -793,6 +796,7 @@ return 1; } else if (fwrite(info->image->data, 1, outsize, outfp) != outsize) { perror("fwrite"); + fclose(outfp); return 1; } fclose(outfp);