diff options
author | Cedric BAIL <cedric.bail@free.fr> | 2012-08-09 11:03:22 +0000 |
---|---|---|
committer | Cedric BAIL <cedric.bail@free.fr> | 2012-08-09 11:03:22 +0000 |
commit | 5f12ec5859ff3b7fd01f30e8882c08b21d981cd5 (patch) | |
tree | c9b3e111940561831676cbf5b5823f3b7bd6dd1c | |
parent | 8c86400b220bc75ec326feff3af155afd500ab0b (diff) | |
download | eet-5f12ec5859ff3b7fd01f30e8882c08b21d981cd5.tar.gz |
eet: don't copy string around.
SVN revision: 75040
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/lib/eet_data.c | 9 |
3 files changed, 8 insertions, 6 deletions
@@ -607,3 +607,7 @@ * Add code to detect overrun and underrun in eet_data_descriptor_element_add. * Fix possible wrong size decoding for simple type. + +2012-08-09 Cedric Bail + + * Don't copy string around for nothing. @@ -12,6 +12,7 @@ Fixes: * Check that gnutls and openssl don't return below zero size during decipher. * Fix crash when cyphering huge amount of data. * Possible wrong size decoding of simple type. + * Don't strdup string around for nothing. Eet 1.6.0 diff --git a/src/lib/eet_data.c b/src/lib/eet_data.c index 4093740..0b8537c 100644 --- a/src/lib/eet_data.c +++ b/src/lib/eet_data.c @@ -110,7 +110,7 @@ struct _Eet_Data_Group_Type_Codec struct _Eet_Data_Chunk { - char *name; + const char *name; int len; int size; int hash; @@ -1422,7 +1422,7 @@ eet_data_chunk_new(void *data, || type == EET_T_F8P24) type = EET_T_DOUBLE; - chnk->name = strdup(name); + chnk->name = name; chnk->len = strlen(name) + 1; chnk->size = size; chnk->data = data; @@ -1434,9 +1434,6 @@ eet_data_chunk_new(void *data, static inline void eet_data_chunk_free(Eet_Data_Chunk *chnk) { - if (chnk->name) - free(chnk->name); - free(chnk); } @@ -1624,7 +1621,7 @@ _eet_descriptor_hash_free(Eet_Data_Descriptor *edd) static Eet_Data_Element * _eet_descriptor_hash_find(Eet_Data_Descriptor *edd, - char *name, + const char *name, int hash) { Eet_Data_Descriptor_Hash *bucket; |