From f30af4969d77f4dfafd340df63e7baceaf0e25f8 Mon Sep 17 00:00:00 2001 From: Stefan Schmidt Date: Tue, 28 May 2013 13:31:47 +0100 Subject: [PATCH] eet_image: Free bigend_data in all error cases. We have been leaking bigend_data if we hit any of the error cases. --- src/lib/eet/eet_image.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/eet/eet_image.c b/src/lib/eet/eet_image.c index 07fb1a72ac..2896260173 100644 --- a/src/lib/eet/eet_image.c +++ b/src/lib/eet/eet_image.c @@ -751,7 +751,11 @@ eet_data_image_lossless_compressed_convert(int *size, } comp = malloc(buflen); - if (!comp) return NULL; + if (!comp) + { + free(bigend_data); + return NULL; + } switch (compression) { @@ -776,6 +780,7 @@ eet_data_image_lossless_compressed_convert(int *size, if ((!ok) || (buflen > (w * h * 4))) { free(comp); + free(bigend_data); *size = -1; return NULL; } @@ -784,6 +789,7 @@ eet_data_image_lossless_compressed_convert(int *size, if (!d) { free(comp); + free(bigend_data); return NULL; }