summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@mines-paris.org>2018-10-31 20:41:52 +0100
committerGitHub <noreply@github.com>2018-10-31 20:41:52 +0100
commite52909f4c7896c5efff3340d707c12d0df55d3f9 (patch)
treef06af0e2c8ba5250aa5ee50b80ad148260c230c6 /src/lib
parentcd900d96618ab77e79812db654731dd6b5fc7bd8 (diff)
parent943db0f1c28ca6a7df6d18483f97166a03be9bf7 (diff)
Merge pull request #1163 from nforro/memory-and-resource-leaks
Fix several memory and resource leaks
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/openjp2/dwt.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/openjp2/dwt.c b/src/lib/openjp2/dwt.c
index 203684d4..5930d1c7 100644
--- a/src/lib/openjp2/dwt.c
+++ b/src/lib/openjp2/dwt.c
@@ -2696,17 +2696,20 @@ OPJ_BOOL opj_dwt_decode_partial_97(opj_tcd_tilecomp_t* OPJ_RESTRICT tilec,
/* overflow check */
if (l_data_size > (SIZE_MAX - 5U)) {
/* FIXME event manager error callback */
+ opj_sparse_array_int32_free(sa);
return OPJ_FALSE;
}
l_data_size += 5U;
/* overflow check */
if (l_data_size > (SIZE_MAX / sizeof(opj_v4_t))) {
/* FIXME event manager error callback */
+ opj_sparse_array_int32_free(sa);
return OPJ_FALSE;
}
h.wavelet = (opj_v4_t*) opj_aligned_malloc(l_data_size * sizeof(opj_v4_t));
if (!h.wavelet) {
/* FIXME event manager error callback */
+ opj_sparse_array_int32_free(sa);
return OPJ_FALSE;
}
v.wavelet = h.wavelet;