aboutsummaryrefslogtreecommitdiffstats
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
parentEvas GL common: Fix size of vertices data buffer (diff)
downloadefl-258dc999ee03b8853a3d9f3cf06ea1bdc89f4a8d.tar.gz
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,
{
Eina_Binbuf *in;
Eina_Binbuf *out;
+ Eina_Bool expanded;
in = eina_binbuf_manage_new((const unsigned char *) body, size - 8 * sizeof (int), EINA_TRUE);
if (!in) return 0;
@@ -1983,13 +1984,10 @@ _eet_data_image_decode_inside(const void *data,
if ((src_h == h) && (src_w == w) && (row_stride == src_w * 4))
{
out = eina_binbuf_manage_new((void*) d, w * h * 4, EINA_TRUE);
- if (!emile_expand(in, out,
- eet_2_emile_compressor(comp)))
- {
- eina_binbuf_free(in);
- eina_binbuf_free(out);
- return 0;
- }
+ expanded = emile_expand(in, out, eet_2_emile_compressor(comp));
+ eina_binbuf_free(in);
+ eina_binbuf_free(out);
+ if (!expanded) return 0;
}
else
{