From 7be6f4ac52ea1307b6b5d92354bc99c4df9efb4a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 22 Jan 2008 11:34:28 -0500 Subject: [PATCH] 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. --- razor.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) 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) -- 1.7.1