summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormayeut <mayeut@users.noreply.github.com>2015-09-06 17:18:37 +0200
committermayeut <mayeut@users.noreply.github.com>2015-09-06 17:18:37 +0200
commitc31fb68ccc0e53d70b21fd068b04b2c1ca4d933f (patch)
treef721509705e650ec852f6794f09a949d6cc022ee /src
parent15d07f33d1e2bb588628eec204751d893ce92acd (diff)
fix resource leak in jpwl
Fixes #573
Diffstat (limited to 'src')
-rw-r--r--src/bin/jpwl/convert.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bin/jpwl/convert.c b/src/bin/jpwl/convert.c
index 5d9219b3..de04e22f 100644
--- a/src/bin/jpwl/convert.c
+++ b/src/bin/jpwl/convert.c
@@ -2858,6 +2858,7 @@ opj_image_t* rawtoimage(const char *filename, opj_cparameters_t *parameters, raw
for (i = 0; i < w * h; i++) {
if (!fread(&value, 1, 1, f)) {
fprintf(stderr,"Error reading raw file. End of file probably reached.\n");
+ fclose(f);
return NULL;
}
image->comps[compno].data[i] = raw_cp->rawSigned?(char)value:value;
@@ -2872,11 +2873,13 @@ opj_image_t* rawtoimage(const char *filename, opj_cparameters_t *parameters, raw
unsigned char temp;
if (!fread(&temp, 1, 1, f)) {
fprintf(stderr,"Error reading raw file. End of file probably reached.\n");
+ fclose(f);
return NULL;
}
value = temp << 8;
if (!fread(&temp, 1, 1, f)) {
fprintf(stderr,"Error reading raw file. End of file probably reached.\n");
+ fclose(f);
return NULL;
}
value += temp;
@@ -2886,6 +2889,7 @@ opj_image_t* rawtoimage(const char *filename, opj_cparameters_t *parameters, raw
}
else {
fprintf(stderr,"OpenJPEG cannot encode raw components with bit depth higher than 16 bits.\n");
+ fclose(f);
return NULL;
}