Browse Source

Merge branch 'maint-0.2.9' into maint-0.3.1

Nick Mathewson 6 years ago
parent
commit
5acfc30876
2 changed files with 9 additions and 7 deletions
  1. 3 0
      changes/bug25629
  2. 6 7
      src/or/nodelist.c

+ 3 - 0
changes/bug25629

@@ -0,0 +1,3 @@
+  o Minor bugfixes (C correctness):
+    - Fix a very unlikely null pointer dereference.  Fixes bug 25629;
+      bugfix on 0.2.9.15.  Found by Coverity; this is CID 1430932.

+ 6 - 7
src/or/nodelist.c

@@ -291,13 +291,12 @@ nodelist_add_microdesc(microdesc_t *md)
   if (rs == NULL)
     return NULL;
   node = node_get_mutable_by_id(rs->identity_digest);
-  if (node) {
-    if (node->md)
-      node->md->held_by_nodes--;
-    node->md = md;
-    md->held_by_nodes++;
-  }
-
+  if (node == NULL)
+    return NULL;
+  if (node->md)
+    node->md->held_by_nodes--;
+  node->md = md;
+  md->held_by_nodes++;
   node_add_to_address_set(node);
 
   return node;