Enlightenment CVS committal

Author  : kwo
Project : e17
Module  : libs/imlib2

Dir     : e17/libs/imlib2/src/modules/loaders


Modified Files:
        loader_xpm.c 


Log Message:
Fix major memory leak in xpm loader.

===================================================================
RCS file: /cvs/e/e17/libs/imlib2/src/modules/loaders/loader_xpm.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- loader_xpm.c        18 May 2005 05:27:43 -0000      1.4
+++ loader_xpm.c        20 Oct 2006 18:03:15 -0000      1.5
@@ -246,6 +246,32 @@
 
                        per_inc = 100.0 / (((float)w) * h);
 
+                       if (im->loader || immediate_load || progress)
+                         {
+                            im->data =
+                                (DATA32 *) malloc(sizeof(DATA32) * im->w *
+                                                  im->h);
+                            if (!im->data)
+                              {
+                                 free(cmap);
+                                 free(line);
+                                 fclose(f);
+                                 xpm_parse_done();
+                                 return 0;
+                              }
+                            ptr = im->data;
+                            end = ptr + (sizeof(DATA32) * w * h);
+                            pixels = w * h;
+                         }
+                       else
+                         {
+                            free(cmap);
+                            free(line);
+                            fclose(f);
+                            xpm_parse_done();
+                            return 1;
+                         }
+
                        j = 0;
                        context++;
                     }
@@ -362,32 +388,6 @@
                        else
                          {
                             UNSET_FLAG(im->flags, F_HAS_ALPHA);
-                         }
-
-                       if (im->loader || immediate_load || progress)
-                         {
-                            im->data =
-                                (DATA32 *) malloc(sizeof(DATA32) * im->w *
-                                                  im->h);
-                            if (!im->data)
-                              {
-                                 free(cmap);
-                                 free(line);
-                                 fclose(f);
-                                 xpm_parse_done();
-                                 return 0;
-                              }
-                            ptr = im->data;
-                            end = ptr + (sizeof(DATA32) * w * h);
-                            pixels = w * h;
-                         }
-                       else
-                         {
-                            free(cmap);
-                            free(line);
-                            fclose(f);
-                            xpm_parse_done();
-                            return 1;
                          }
                     }
                   else



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to