dpkg: fix use-after-free (bug 939)
authorDenis Vlasenko <vda.linux@googlemail.com>
Sat, 30 Sep 2006 21:05:25 +0000 (21:05 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sat, 30 Sep 2006 21:05:25 +0000 (21:05 -0000)
archival/dpkg.c

index b26a1163168e8015185d3267583ea72d908a72f1..b55822460cfd3e8b95a830fe750945e3ad7f60b7 100644 (file)
@@ -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)