From 8a0924147d76ec2a389f81ee46a0deb99b45258f Mon Sep 17 00:00:00 2001 From: raster Date: Fri, 4 Nov 2005 07:16:50 +0000 Subject: [PATCH] oops - leak. fixed git-svn-id: http://svn.enlightenment.org/svn/e/trunk/e17/libs/eet@18266 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/eet_data.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/eet_data.c b/src/lib/eet_data.c index 48eb487..ededccb 100644 --- a/src/lib/eet_data.c +++ b/src/lib/eet_data.c @@ -505,11 +505,10 @@ eet_data_chunk_new(void *data, int size, char *name) Eet_Data_Chunk *chnk; if (!name) return NULL; - chnk = malloc(sizeof(Eet_Data_Chunk) + strlen(name) + 1); + chnk = calloc(1, sizeof(Eet_Data_Chunk)); if (!chnk) return NULL; - chnk->name = ((char *)chnk) + sizeof(Eet_Data_Chunk); - strcpy(chnk->name, name); + chnk->name = strdup(name); chnk->size = size; chnk->data = data; @@ -519,6 +518,7 @@ eet_data_chunk_new(void *data, int size, char *name) static void eet_data_chunk_free(Eet_Data_Chunk *chnk) { + if (chnk->name) free(chnk->name); free(chnk); } @@ -792,7 +792,7 @@ _eet_freelist_add(void *data) freelist_num++; if (freelist_num > freelist_len) { - freelist_len += 64; + freelist_len += 16; freelist = realloc(freelist, freelist_len * sizeof(void *)); } freelist[freelist_num - 1] = data; -- 2.7.4