[package] opkg: fix a double free of pkg vectors when recursively removing packages...
[openwrt.git] / package / opkg / patches / 009-remove-upgrade-all.patch
1 --- a/libopkg/opkg_cmd.c
2 +++ b/libopkg/opkg_cmd.c
3 @@ -551,18 +551,6 @@ opkg_upgrade_cmd(int argc, char **argv)
4 err = -1;
5 }
6 }
7 - } else {
8 - pkg_vec_t *installed = pkg_vec_alloc();
9 -
10 - pkg_info_preinstall_check();
11 -
12 - pkg_hash_fetch_all_installed(installed);
13 - for (i = 0; i < installed->len; i++) {
14 - pkg = installed->pkgs[i];
15 - if (opkg_upgrade_pkg(pkg))
16 - err = -1;
17 - }
18 - pkg_vec_free(installed);
19 }
20
21 if (opkg_configure_packages(NULL))
22 @@ -1258,7 +1246,7 @@ opkg_print_architecture_cmd(int argc, ch
23 array for easier maintenance */
24 static opkg_cmd_t cmds[] = {
25 {"update", 0, (opkg_cmd_fun_t)opkg_update_cmd, PFM_DESCRIPTION|PFM_SOURCE},
26 - {"upgrade", 0, (opkg_cmd_fun_t)opkg_upgrade_cmd, PFM_DESCRIPTION|PFM_SOURCE},
27 + {"upgrade", 1, (opkg_cmd_fun_t)opkg_upgrade_cmd, PFM_DESCRIPTION|PFM_SOURCE},
28 {"list", 0, (opkg_cmd_fun_t)opkg_list_cmd, PFM_SOURCE},
29 {"list_installed", 0, (opkg_cmd_fun_t)opkg_list_installed_cmd, PFM_SOURCE},
30 {"list-installed", 0, (opkg_cmd_fun_t)opkg_list_installed_cmd, PFM_SOURCE},
31 --- a/src/opkg-cl.c
32 +++ b/src/opkg-cl.c
33 @@ -221,7 +221,7 @@ usage()
34
35 printf("\nPackage Manipulation:\n");
36 printf("\tupdate Update list of available packages\n");
37 - printf("\tupgrade Upgrade installed packages\n");
38 + printf("\tupgrade <pkgs> Upgrade packages\n");
39 printf("\tinstall <pkgs> Install package(s)\n");
40 printf("\tconfigure <pkgs> Configure unpacked package(s)\n");
41 printf("\tremove <pkgs|regexp> Remove package(s)\n");
This page took 0.042454 seconds and 5 git commands to generate.