|
From: Enlightenment C. <no...@cv...> - 2006-04-23 12:39:31
|
Enlightenment CVS committal
Author : chaos
Project : e17
Module : apps/evfs
Dir : e17/apps/evfs/src/common
Modified Files:
evfs_cleanup.c
Log Message:
* Fix invalid free
===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/common/evfs_cleanup.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- evfs_cleanup.c 22 Apr 2006 03:16:58 -0000 1.17
+++ evfs_cleanup.c 23 Apr 2006 12:38:15 -0000 1.18
@@ -136,22 +136,14 @@
evfs_meta_obj* obj;
Evas_List* l = event->meta->meta_list;
- for (; l ;) {
- obj = l->data;
- l = evas_list_remove(event->meta->meta_list, obj);
-
- free(obj->key);
- free(obj->value);
- free(obj);
- }
- evas_list_free(event->meta->meta_list);
-
if (evfs_object_client_is_get()) {
Ecore_List* keys;
char* key;
+ char* value;
keys = ecore_hash_keys(event->meta->meta_hash);
while ( (key = ecore_list_remove_first(keys))) {
- ecore_hash_remove(event->meta->meta_hash, key);
+ value = ecore_hash_remove(event->meta->meta_hash, key);
+ IF_FREE(value);
free(key);
}
ecore_hash_destroy(event->meta->meta_hash);
|