summaryrefslogtreecommitdiffstats
path: root/libopkg/void_list.c
diff options
context:
space:
mode:
authorgraham.gower <graham.gower@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2009-10-30 02:37:09 (EDT)
committer graham.gower <graham.gower@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>2009-10-30 02:37:09 (EDT)
commit8fe2c7a40a79c7d1b68bd00955729e94a21a0ea5 (patch)
tree393cacdeb8684d65cd64c3055ff5125d2b5c46f3 /libopkg/void_list.c
parente5cfa6dc4794e0a5bca36cabcd12a877454478db (diff)
Fix some memory leaks.
git-svn-id: http://opkg.googlecode.com/svn/trunk@229 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'libopkg/void_list.c')
-rw-r--r--libopkg/void_list.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libopkg/void_list.c b/libopkg/void_list.c
index 676e3b1..1517228 100644
--- a/libopkg/void_list.c
+++ b/libopkg/void_list.c
@@ -30,7 +30,7 @@ int void_list_elt_init(void_list_elt_t *elt, void *data)
void_list_elt_t * void_list_elt_new (void *data) {
void_list_elt_t *elt;
- /* freed in void_list_deinit */
+ /* freed in void_list_elt_deinit */
elt = calloc(1, sizeof(void_list_elt_t));
if (elt == NULL) {
fprintf(stderr, "%s: out of memory\n", __FUNCTION__);
@@ -44,6 +44,7 @@ void void_list_elt_deinit(void_list_elt_t *elt)
{
list_del_init(&elt->node);
void_list_elt_init(elt, NULL);
+ free(elt);
}
int void_list_init(void_list_t *list)
@@ -59,8 +60,6 @@ void void_list_deinit(void_list_t *list)
while (!void_list_empty(list)) {
elt = void_list_pop(list);
void_list_elt_deinit(elt);
- /* malloced in void_list_append */
- free(elt);
}
INIT_LIST_HEAD(&list->head);
}
@@ -116,7 +115,6 @@ void *void_list_remove(void_list_t *list, void_list_elt_t **iter)
*iter = list_entry(pos->node.prev, void_list_elt_t, node);
void_list_elt_deinit(pos);
- free(pos);
return old_data;
}