opkg: fix invalid free triggered by 011-old-config-location.patch and replace 012-cleanup-tmpdir.patch with upstream fix

SVN-Revision: 18879
This commit is contained in:
Jo-Philipp Wich 2009-12-21 15:09:08 +00:00
parent c00d5e59f0
commit 51d2ab9308
2 changed files with 31 additions and 8 deletions

View File

@ -7,7 +7,7 @@
- -
+ +
+ if(!conf->conf_file) + if(!conf->conf_file)
+ conf->conf_file = "/etc/opkg.conf"; + conf->conf_file = xstrdup("/etc/opkg.conf");
+ +
if (parse_err) if (parse_err)
return parse_err; return parse_err;

View File

@ -1,12 +1,35 @@
--- a/src/opkg-cl.c --- a/src/opkg-cl.c
+++ b/src/opkg-cl.c +++ b/src/opkg-cl.c
@@ -333,6 +333,9 @@ @@ -263,7 +263,7 @@
int
main(int argc, char *argv[])
{
- int opts;
+ int opts, err = -1;
char *cmd_name;
opkg_cmd_t *cmd;
int nocheckfordirorfile = 0;
@@ -327,15 +327,8 @@
usage();
}
- if (opkg_cmd_exec(cmd, argc - opts, (const char **) (argv + opts)))
- goto err2;
+ err = opkg_cmd_exec(cmd, argc - opts, (const char **) (argv + opts));
- print_error_list();
- free_error_list();
-
- return 0;
-
-err2:
#ifdef HAVE_CURL
opkg_curl_cleanup();
#endif
@@ -346,5 +339,5 @@
print_error_list(); print_error_list();
free_error_list(); free_error_list();
+ if( conf->tmp_dir ) - return -1;
+ rm_r(conf->tmp_dir); + return err;
+ }
return 0;
err2: