From: Kristian Høgsberg Date: Tue, 22 Jan 2008 16:34:28 +0000 (-0500) Subject: Fix comparisong bug in razor_set_diff(). X-Git-Tag: 0.1~254 X-Git-Url: http://project.juiblex.co.uk/git/?a=commitdiff_plain;h=7be6f4ac52ea1307b6b5d92354bc99c4df9efb4a;p=razor.git Fix comparisong bug in razor_set_diff(). We could end up calling the callback for p1 even if it's NULL, if p2 != NULL and the previous comparison left res == -1. --- diff --git a/razor.c b/razor.c index ddb16fc..b5f0d10 100644 --- a/razor.c +++ b/razor.c @@ -1797,7 +1797,7 @@ razor_set_diff(struct razor_set *set, struct razor_set *upstream, struct razor_package_iterator *pi1, *pi2; struct razor_package *p1, *p2; const char *name1, *name2, *version1, *version2; - int res = 0; + int res; pi1 = razor_package_iterator_create(set); pi2 = razor_package_iterator_create(upstream); @@ -1810,6 +1810,8 @@ razor_set_diff(struct razor_set *set, struct razor_set *upstream, res = strcmp(name1, name2); if (res == 0) res = versioncmp(version1, version2); + } else { + res = 0; } if (p2 == NULL || res < 0)