From aecabffb8bf47ee8bf02c1fa1011ca97fc0b97d4 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sat, 30 Sep 2006 21:05:25 +0000 Subject: [PATCH] dpkg: fix use-after-free (bug 939) --- archival/dpkg.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/archival/dpkg.c b/archival/dpkg.c index b26a11631..b55822460 100644 --- a/archival/dpkg.c +++ b/archival/dpkg.c @@ -304,16 +304,13 @@ static int version_compare(const unsigned int ver1, const unsigned int ver2) deb_ver2++; } result = version_compare_part(upstream_ver1, upstream_ver2); + if (!result) + /* Compare debian versions */ + result = version_compare_part(deb_ver1, deb_ver2); free(upstream_ver1); free(upstream_ver2); - - if (result != 0) { - return result; - } - - /* Compare debian versions */ - return version_compare_part(deb_ver1, deb_ver2); + return result; } static int test_version(const unsigned int version1, const unsigned int version2, const unsigned int operator)