Просмотр исходного кода

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

SVN-Revision: 18879
Jo-Philipp Wich 16 лет назад
Родитель
Сommit
51d2ab9308

+ 1 - 1
package/opkg/patches/011-old-config-location.patch

@@ -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;

+ 30 - 7
package/opkg/patches/012-cleanup-tmpdir.patch

@@ -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;
+ }