Browse Source

Use fast check for missing id in node_is_a_configured_bridge()

Fixes bug 30308; bugfix on 0.3.5.1-alpha.
Nick Mathewson 5 years ago
parent
commit
806539b40a
2 changed files with 6 additions and 1 deletions
  1. 5 0
      changes/ticket30308
  2. 1 1
      src/feature/client/bridges.c

+ 5 - 0
changes/ticket30308

@@ -0,0 +1,5 @@
+  o Minor bugfixes (performance):
+    - When checking a node for bridge status, use a fast check to make sure
+      that its identity is set. Previously, we used a constant-time check,
+      which is not necessary when verifying a BUG() condition that causes
+      a stack trace. Fixes bug 30308; bugfix on 0.3.5.1-alpha.

+ 1 - 1
src/feature/client/bridges.c

@@ -348,7 +348,7 @@ int
 node_is_a_configured_bridge(const node_t *node)
 {
   /* First, let's try searching for a bridge with matching identity. */
-  if (BUG(tor_digest_is_zero(node->identity)))
+  if (BUG(tor_mem_is_zero(node->identity, DIGEST_LEN)))
     return 0;
 
   if (find_bridge_by_digest(node->identity) != NULL)