eet: don't copy string around.
authorcedric <cedric>
Thu, 9 Aug 2012 11:03:22 +0000 (11:03 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 9 Aug 2012 11:03:22 +0000 (11:03 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eet@75040 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

ChangeLog
NEWS
src/lib/eet_data.c

index 0ce223a..ce6ba0e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
        * 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.
diff --git a/NEWS b/NEWS
index 456bd18..4b8370c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -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
 
index 4093740..0b8537c 100644 (file)
@@ -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;