stefan pushed a commit to branch master.

commit f30af4969d77f4dfafd340df63e7baceaf0e25f8
Author: Stefan Schmidt <[email protected]>
Date:   Tue May 28 13:31:47 2013 +0100

    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 07fb1a7..2896260 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;
         }
 

-- 

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may

Reply via email to