commit a17dc0875ad0d434d9cf66d36ed23fbd69286bf3
parent dbc80ad19b8a27aab557fe7930e18eef8f415133
Author: Nick Mathewson <nickm@torproject.org>
Date: Mon, 7 May 2018 13:56:39 -0400
Avoid unsigned integer underflow on empty input.
Diffstat:
1 file changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/or/dirserv.c b/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';