diff options
author | pixdamix <pixdamix@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2009-10-29 05:07:11 (EDT) |
---|---|---|
committer | pixdamix <pixdamix@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2009-10-29 05:07:11 (EDT) |
commit | bb61b4e2022bea1f8728d18dac18239ed6931826 (patch) | |
tree | 0df7ce48dc61847a15d2fa0b6d7d1c08fe8563f5 /libopkg/opkg_cmd.c | |
parent | 26e659c660b69b5ecdd1bd6f6bf85520211b810e (diff) |
Fix problems in error list
push_error_list() should allocate the sizeof(struct) not sizeof(pointer
to struct).
And add some memory deallocation in error paths found while looking at
this.
git-svn-id: http://opkg.googlecode.com/svn/trunk@227 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'libopkg/opkg_cmd.c')
-rw-r--r-- | libopkg/opkg_cmd.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/libopkg/opkg_cmd.c b/libopkg/opkg_cmd.c index 4a0410c..91976ae 100644 --- a/libopkg/opkg_cmd.c +++ b/libopkg/opkg_cmd.c @@ -143,17 +143,20 @@ opkg_cmd_t *opkg_cmd_find(const char *name) void opkg_print_error_list (opkg_conf_t *conf) { - if ( error_list ) { - reverse_error_list(&error_list); + struct errlist *err = error_list; + + if (err) { + reverse_error_list(&err); printf ("Collected errors:\n"); /* Here we print the errors collected and free the list */ - while (error_list != NULL) { - printf (" * %s", error_list->errmsg); - error_list = error_list->next; + while (err != NULL) { + printf (" * %s", err->errmsg); + err = err->next; } - free_error_list(); + + free_error_list(&error_list); } } @@ -786,6 +789,8 @@ static int opkg_list_installed_cmd(opkg_conf_t *conf, int argc, char **argv) } } + pkg_vec_free(available); + return 0; } |