From 124d4a89097d831e22654f88771726895d50a70c Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 10 Jan 2003 02:07:23 +0000 Subject: [PATCH] and dont leak SVN revision: 6557 --- .../src/lib/engines/common/evas_image_main.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/legacy/evas/src/lib/engines/common/evas_image_main.c b/legacy/evas/src/lib/engines/common/evas_image_main.c index ad4f1279dd..bf32282dc7 100644 --- a/legacy/evas/src/lib/engines/common/evas_image_main.c +++ b/legacy/evas/src/lib/engines/common/evas_image_main.c @@ -316,7 +316,11 @@ evas_common_image_find(const char *filename, const char *key, DATA64 timestamp) 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 @@ evas_common_image_find(const char *filename, const char *key, DATA64 timestamp) 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 @@ evas_common_image_find(const char *filename, const char *key, DATA64 timestamp) 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; }