aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraldot <aldot@69ca8d6d-28ef-0310-b511-8ec308f3f277>2007-03-19 13:44:18 +0000
committeraldot <aldot@69ca8d6d-28ef-0310-b511-8ec308f3f277>2007-03-19 13:44:18 +0000
commite4ce06ebd6fb893d3785aeedf958d9c786849697 (patch)
tree00f6cccfc900829cc4113d8f40b1888c03a1102e
parent8fbf52234d4ee282b0faa35ca3c0bd01a3f06600 (diff)
downloadbusybox-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.c8
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