Bläddra i källkod

Avoid unsigned integer underflow on empty input.

Nick Mathewson 6 år sedan
förälder
incheckning
a17dc0875a
1 ändrade filer med 6 tillägg och 0 borttagningar
  1. 6 0
      src/or/dirserv.c

+ 6 - 0
src/or/dirserv.c

@@ -2641,6 +2641,12 @@ measured_bw_line_parse(measured_bw_line_t *out, const char *orig_line)
   int got_node_id = 0;
   char *strtok_state; /* lame sauce d'jour */
 
+  if (strlen(line) == 0) {
+    log_warn(LD_DIRSERV, "Empty line in bandwidth file");
+    tor_free(line);
+    return -1;
+  }
+
   /* Remove end of line character, so that is not part of the token */
   if (line[strlen(line) - 1] == '\n') {
     line[strlen(line) - 1] = '\0';