diff options
| author | mayeut <mayeut@users.noreply.github.com> | 2015-09-06 17:18:37 +0200 |
|---|---|---|
| committer | mayeut <mayeut@users.noreply.github.com> | 2015-09-06 17:18:37 +0200 |
| commit | c31fb68ccc0e53d70b21fd068b04b2c1ca4d933f (patch) | |
| tree | f721509705e650ec852f6794f09a949d6cc022ee /src | |
| parent | 15d07f33d1e2bb588628eec204751d893ce92acd (diff) | |
fix resource leak in jpwl
Fixes #573
Diffstat (limited to 'src')
| -rw-r--r-- | src/bin/jpwl/convert.c | 4 |
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; } |
