diff --git a/src/or/dirserv.c b/src/or/dirserv.c index e055c1cc9b..1ff17150eb 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -563,12 +563,12 @@ _compare_tor_version_str_ptr(const void **_a, const void **_b) ca = tor_version_parse(a, &va); cb = tor_version_parse(b, &vb); /* If they both parse, compare them. */ - if (ca && cb) + if (!ca && !cb) return tor_version_compare(&va,&vb); /* If one parses, it comes first. */ - if (ca && !cb) - return -1; if (!ca && cb) + return -1; + if (ca && !cb) return 1; /* If neiher parses, compare strings. Also, the directory server admin needs ** to be smacked upside the head. But Tor is tolerant and gentle. */