Explorar o código

Avoid unsigned integer underflow on empty input.

Nick Mathewson %!s(int64=6) %!d(string=hai) anos
pai
achega
a17dc0875a
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  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';