diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-03-19 13:44:18 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-03-19 13:44:18 +0000 |
commit | de8a6a01d84ebb09a333104bf0fd5f6e251d9eb7 (patch) | |
tree | 00f6cccfc900829cc4113d8f40b1888c03a1102e | |
parent | 41e1dc3f8bfea676319f3a69e8556dba2a3a279c (diff) | |
download | busybox-de8a6a01d84ebb09a333104bf0fd5f6e251d9eb7.tar.gz |
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.
-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) return -1; } num = search_package_hashtable(new_node->name, new_node->version, VER_EQUAL); - if (package_hashtable[num] == NULL) { - package_hashtable[num] = new_node; - } else { - free_package(new_node); - } + if (package_hashtable[num] != NULL) + free_package(package_hashtable[num]); + package_hashtable[num] = new_node; return num; } |