summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorNikola Forró <nforro@redhat.com>2018-10-31 13:39:05 +0100
committerNikola Forró <nforro@redhat.com>2018-10-31 16:16:22 +0100
commit943db0f1c28ca6a7df6d18483f97166a03be9bf7 (patch)
treef06af0e2c8ba5250aa5ee50b80ad148260c230c6 /src/lib
parentcd900d96618ab77e79812db654731dd6b5fc7bd8 (diff)
Fix several memory and resource leaks
Signed-off-by: Nikola Forró <nforro@redhat.com>
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;