[tor-commits] [tor/release-0.2.2] Fix potential null pointer deref during dirvote

arma at torproject.org arma at torproject.org
Wed May 11 03:24:25 UTC 2011


commit 1c668540fef93d71e72cfed73955ee705f27163e
Author: Sebastian Hahn <sebastian at torproject.org>
Date:   Tue Apr 26 04:38:55 2011 +0200

    Fix potential null pointer deref during dirvote
    
    Found by using clang's analyzer.
---
 changes/dirvote_null_deref |    4 ++++
 src/or/dirvote.c           |    6 +++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/changes/dirvote_null_deref b/changes/dirvote_null_deref
new file mode 100644
index 0000000..65dc519
--- /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 db2eaf0..750c649 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;





More information about the tor-commits mailing list