From: <enl...@li...> - 2003-01-10 02:07:25
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas Dir : e17/libs/evas/src/lib/engines/common Modified Files: evas_image_main.c Log Message: and dont leak =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_image_main.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- evas_image_main.c 10 Jan 2003 02:05:37 -0000 1.3 +++ evas_image_main.c 10 Jan 2003 02:07:23 -0000 1.4 @@ -316,7 +316,11 @@ sprintf(buf, "%llx", timestamp); l3 = strlen(buf); str = malloc(l1 + 3 + l2 + 3 + l3 +1); - if (!str) return NULL; + if (!str) + { + if (real_filename) free(real_filename); + return NULL; + } str[0] = 0; if (filename) strcpy(str, filename); strcat(str, "/:/"); @@ -325,7 +329,11 @@ strcat(str, buf); im = evas_hash_find(images, str); free(str); - if (im) return im; + if (im) + { + if (real_filename) free(real_filename); + return im; + } for (l = cache; l; l = l->next) { @@ -354,8 +362,13 @@ ok++; if (im->timestamp == timestamp) ok++; - if (ok >= 3) return im; + if (ok >= 3) + { + if (real_filename) free(real_filename); + return im; + } } + if (real_filename) free(real_filename); return NULL; } |