eet: do the correct math for allocation.
authorCedric BAIL <cedric.bail@samsung.com>
Fri, 5 Apr 2013 02:50:54 +0000 (11:50 +0900)
committerCedric BAIL <cedric.bail@samsung.com>
Fri, 5 Apr 2013 02:50:54 +0000 (11:50 +0900)
src/lib/eet/eet_dictionary.c
src/lib/eet/eet_lib.c

index 8bf056a..bdf141a 100644 (file)
@@ -132,7 +132,7 @@ eet_dictionary_string_add(Eet_Dictionary *ed,
        if (!new_hash) goto on_error;
        ed->all_hash = new_hash;
 
-       new_allocated = realloc(ed->all_allocated, total * sizeof (unsigned char));
+       new_allocated = realloc(ed->all_allocated, ((total >> 3) + 1) * sizeof (unsigned char));
        if (!new_allocated) goto on_error;
        ed->all_allocated = new_allocated;
        
index ceb8847..fd835af 100644 (file)
@@ -946,7 +946,7 @@ eet_internal_read2(Eet_File *ef)
        if (eet_test_close(!ef->ed->all_hash, ef))
          return NULL;
 
-       ef->ed->all_allocated = calloc(1, ((num_dictionary_entries >> 8) + 1) * sizeof (unsigned char));
+       ef->ed->all_allocated = calloc(1, ((num_dictionary_entries >> 3) + 1) * sizeof (unsigned char));
        if (eet_test_close(!ef->ed->all_allocated, ef))
          return NULL;