Browse Source

Check that the header is key_value

to avoid interpreting as headers extra lines that are not key_values
juga0 6 years ago
parent
commit
f0a4a5f726
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/feature/dircache/dirserv.c

+ 4 - 1
src/feature/dircache/dirserv.c

@@ -2674,7 +2674,10 @@ dirserv_read_measured_bandwidths(const char *from_file,
         if (measured_bw_line_apply(&parsed_line, routerstatuses) > 0)
           applied_lines++;
       } else {
-        if (strcmp(line, "====\n") != 0) {
+        /* If line does not contain the header separator and it is key_value,
+         * it is probably a KeyValue header.*/
+        if (strcmp(line, "====\n") != 0 &&
+            string_is_key_value(LOG_DEBUG, line)) {
           line[strlen(line)-1] = '\0';
           smartlist_add_strdup(bwlist_headers, line);
         };