From dda27dc9d85e12823e52fdb1c4b285e5a2a50a5f Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Tue, 21 Apr 2015 16:04:58 +0200 Subject: [PATCH] Fix leak in pc_patch_dimensional_from_uncompressed --- lib/pc_patch_dimensional.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/pc_patch_dimensional.c b/lib/pc_patch_dimensional.c index cabfe4f..056e576 100644 --- a/lib/pc_patch_dimensional.c +++ b/lib/pc_patch_dimensional.c @@ -102,11 +102,12 @@ pc_patch_dimensional_from_uncompressed(const PCPATCH_UNCOMPRESSED *pa) } PCPATCH_DIMENSIONAL * -pc_patch_dimensional_compress(const PCPATCH_DIMENSIONAL *pdl, PCDIMSTATS *pds) +pc_patch_dimensional_compress(const PCPATCH_DIMENSIONAL *pdl, PCDIMSTATS *pds_in) { int i; int ndims = pdl->schema->ndims; PCPATCH_DIMENSIONAL *pdl_compressed; + PCDIMSTATS *pds = pds_in; assert(pdl); assert(pdl->schema); @@ -129,6 +130,8 @@ pc_patch_dimensional_compress(const PCPATCH_DIMENSIONAL *pdl, PCDIMSTATS *pds) pdl_compressed->bytes[i] = pc_bytes_encode(pdl->bytes[i], pds->stats[i].recommended_compression); } + if ( pds != pds_in ) pc_dimstats_free(pds); + return pdl_compressed; }