Browse Source

Merge branch 'tor-github/pr/1292'

George Kadianakis 6 years ago
parent
commit
c29f05b159
2 changed files with 13 additions and 3 deletions
  1. 5 0
      changes/ticket31529
  2. 8 3
      src/app/config/confparse.c

+ 5 - 0
changes/ticket31529

@@ -0,0 +1,5 @@
+  o Minor features (debugging):
+    - Log a nonfatal assertion failure if we encounter a configuration
+      line whose command is "CLEAR" but which has a nonempty value.
+      This should be impossible, according to the rules of our
+      configuration line parsing. Closes ticket 31529.

+ 8 - 3
src/app/config/confparse.c

@@ -652,9 +652,14 @@ config_assign_line(const config_mgr_t *mgr, void *options,
     }
     return 0;
   } else if (c->command == CONFIG_LINE_CLEAR && !clear_first) {
-    // XXXX This is unreachable, since a CLEAR line always has an
-    // XXXX empty value.
-    config_reset(mgr, options, mvar, use_defaults); // LCOV_EXCL_LINE
+    // This block is unreachable, since a CLEAR line always has an
+    // empty value, and so will trigger be handled by the previous
+    // "if (!strlen(c->value))" block.
+
+    // LCOV_EXCL_START
+    tor_assert_nonfatal_unreached();
+    config_reset(mgr, options, mvar, use_defaults);
+    // LCOV_EXCL_STOP
   }
 
   if (options_seen && ! config_var_is_cumulative(cvar)) {