summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Schmidt <s.schmidt@samsung.com>2013-06-11 13:44:32 +0100
committerStefan Schmidt <s.schmidt@samsung.com>2013-06-11 13:47:15 +0100
commitec1be1025adf11401ec5d2ac6ee532368d828cbb (patch)
tree2cc89d0b31171fa9c752b7b38bbef16fee24c25b
parent8bae3a4d46e12cc479894a755c72ff5035a2a183 (diff)
downloadeet-ec1be1025adf11401ec5d2ac6ee532368d828cbb.tar.gz
eet_image: Backport memory leak fix.
Backport of f30af4969d77f4dfafd340df63e7baceaf0e25f8 We have been leaking bigend_data if we hit any of the error cases.
-rw-r--r--ChangeLog4
-rw-r--r--NEWS6
-rw-r--r--src/lib/eet_image.c8
3 files changed, 17 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a073ee6..fd313e9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -685,3 +685,7 @@
2013-04-04 Rafael Antognolli
* 1.7.6 release
+
+2013-06-011 Stefan Schmidt
+
+ * Fix memory leak in eet_image
diff --git a/NEWS b/NEWS
index 49b7e15..390aac6 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+Changes since Eet 1.7.7:
+--------------------------
+
+Fixes:
+ * Fix memory leak in eet_image.
+
Eet 1.7.7
Changes since Eet 1.7.6:
diff --git a/src/lib/eet_image.c b/src/lib/eet_image.c
index 434f7d9..4bf515c 100644
--- a/src/lib/eet_image.c
+++ b/src/lib/eet_image.c
@@ -767,7 +767,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)
{
@@ -792,6 +796,7 @@ eet_data_image_lossless_compressed_convert(int *size,
if ((!ok) || (buflen > (w * h * 4)))
{
free(comp);
+ free(bigend_data);
*size = -1;
return NULL;
}
@@ -800,6 +805,7 @@ eet_data_image_lossless_compressed_convert(int *size,
if (!d)
{
free(comp);
+ free(bigend_data);
return NULL;
}