From: Sebastian Hahn Date: Tue, 26 Apr 2011 02:38:55 +0000 (+0200) Subject: Fix potential null pointer deref during dirvote X-Git-Tag: tor-0.2.2.26-beta~14^2~3^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c668540fef93d71e72cfed73955ee705f27163e;p=thirdparty%2Ftor.git Fix potential null pointer deref during dirvote Found by using clang's analyzer. --- diff --git a/changes/dirvote_null_deref b/changes/dirvote_null_deref new file mode 100644 index 0000000000..65dc519f52 --- /dev/null +++ b/changes/dirvote_null_deref @@ -0,0 +1,4 @@ + o Minor bugfixes: + - Fix a potential null-pointer dereference while computing a consensus. + Bugfix on tor-0.2.0.3-alpha, found with the help of clang's analyzer. + diff --git a/src/or/dirvote.c b/src/or/dirvote.c index db2eaf0f4f..750c649f51 100644 --- a/src/or/dirvote.c +++ b/src/or/dirvote.c @@ -444,9 +444,9 @@ compute_routerstatus_consensus(smartlist_t *votes, int consensus_method, if (cur && !compare_vote_rs(cur, rs)) { ++cur_n; } else { - if (cur_n > most_n || - (cur && cur_n == most_n && - cur->status.published_on > most_published)) { + if (cur && (cur_n > most_n || + (cur_n == most_n && + cur->status.published_on > most_published))) { most = cur; most_n = cur_n; most_published = cur->status.published_on;