diff options
author | aldot <aldot@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2007-03-19 13:44:18 +0000 |
---|---|---|
committer | aldot <aldot@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2007-03-19 13:44:18 +0000 |
commit | e4ce06ebd6fb893d3785aeedf958d9c786849697 (patch) | |
tree | 00f6cccfc900829cc4113d8f40b1888c03a1102e | |
parent | 8fbf52234d4ee282b0faa35ca3c0bd01a3f06600 (diff) | |
download | busybox-w32-e4ce06ebd6fb893d3785aeedf958d9c786849697.tar.gz busybox-w32-e4ce06ebd6fb893d3785aeedf958d9c786849697.tar.bz2 busybox-w32-e4ce06ebd6fb893d3785aeedf958d9c786849697.zip |
Kim B. Heino writes:
When installing a new package with dpkg dependencies are checked
correctly. But when I try to update an existing package, the
dependencies are checked against the old package, not against new
package. Thus the new package can break dependencies.
git-svn-id: svn://busybox.net/trunk/busybox@18158 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | archival/dpkg.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/archival/dpkg.c b/archival/dpkg.c index 9f7818ccf..ebdf6c68a 100644 --- a/archival/dpkg.c +++ b/archival/dpkg.c | |||
@@ -643,11 +643,9 @@ static unsigned fill_package_struct(char *control_buffer) | |||
643 | return -1; | 643 | return -1; |
644 | } | 644 | } |
645 | num = search_package_hashtable(new_node->name, new_node->version, VER_EQUAL); | 645 | num = search_package_hashtable(new_node->name, new_node->version, VER_EQUAL); |
646 | if (package_hashtable[num] == NULL) { | 646 | if (package_hashtable[num] != NULL) |
647 | package_hashtable[num] = new_node; | 647 | free_package(package_hashtable[num]); |
648 | } else { | 648 | package_hashtable[num] = new_node; |
649 | free_package(new_node); | ||
650 | } | ||
651 | return num; | 649 | return num; |
652 | } | 650 | } |
653 | 651 | ||