summaryrefslogtreecommitdiff
path: root/src/lib/eet
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2015-04-13 14:00:46 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-04-13 14:00:46 +0900
commit258dc999ee03b8853a3d9f3cf06ea1bdc89f4a8d (patch)
tree037f6623b0069e696b677dd8415f198394ae52da /src/lib/eet
parent21c91928d22cd595a7bc0b29e33f936ae1c3afaa (diff)
Emile: Fix memory leak
The binbuf wrappers were never freed.
Diffstat (limited to 'src/lib/eet')
-rw-r--r--src/lib/eet/eet_image.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/lib/eet/eet_image.c b/src/lib/eet/eet_image.c
index 3a20e8f429..c8ce81b1d3 100644
--- a/src/lib/eet/eet_image.c
+++ b/src/lib/eet/eet_image.c
@@ -1976,6 +1976,7 @@ _eet_data_image_decode_inside(const void *data,
1976 { 1976 {
1977 Eina_Binbuf *in; 1977 Eina_Binbuf *in;
1978 Eina_Binbuf *out; 1978 Eina_Binbuf *out;
1979 Eina_Bool expanded;
1979 1980
1980 in = eina_binbuf_manage_new((const unsigned char *) body, size - 8 * sizeof (int), EINA_TRUE); 1981 in = eina_binbuf_manage_new((const unsigned char *) body, size - 8 * sizeof (int), EINA_TRUE);
1981 if (!in) return 0; 1982 if (!in) return 0;
@@ -1983,13 +1984,10 @@ _eet_data_image_decode_inside(const void *data,
1983 if ((src_h == h) && (src_w == w) && (row_stride == src_w * 4)) 1984 if ((src_h == h) && (src_w == w) && (row_stride == src_w * 4))
1984 { 1985 {
1985 out = eina_binbuf_manage_new((void*) d, w * h * 4, EINA_TRUE); 1986 out = eina_binbuf_manage_new((void*) d, w * h * 4, EINA_TRUE);
1986 if (!emile_expand(in, out, 1987 expanded = emile_expand(in, out, eet_2_emile_compressor(comp));
1987 eet_2_emile_compressor(comp))) 1988 eina_binbuf_free(in);
1988 { 1989 eina_binbuf_free(out);
1989 eina_binbuf_free(in); 1990 if (!expanded) return 0;
1990 eina_binbuf_free(out);
1991 return 0;
1992 }
1993 } 1991 }
1994 else 1992 else
1995 { 1993 {