1
0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-11-18 22:43:53 +01:00

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

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

@ -1,12 +1,35 @@
--- a/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();
free_error_list();
+ if( conf->tmp_dir )
+ rm_r(conf->tmp_dir);
+
return 0;
err2:
- return -1;
+ return err;
}