when we added orport= to the dirserver line, we started

freeing the string in the middle. this was probably xiando's
crash bug.


svn:r9265
This commit is contained in:
Roger Dingledine 2007-01-05 01:23:34 +00:00
parent 7b88380690
commit 466650aa14

View File

@ -3365,10 +3365,11 @@ parse_dir_server_line(const char *line, int validate_only)
is_v2_authority = 0;
} else if (!strcasecmpstart(flag, "orport=")) {
int ok;
flag += strlen("orport=");
or_port = (uint16_t) tor_parse_long(flag, 10, 1, 65535, &ok, NULL);
char *portstring = flag + strlen("orport=");
or_port = (uint16_t) tor_parse_long(portstring, 10, 1, 65535, &ok, NULL);
if (!ok)
log_warn(LD_CONFIG, "Invalid orport '%s' on DirServer line.", flag);
log_warn(LD_CONFIG, "Invalid orport '%s' on DirServer line.",
portstring);
} else {
log_warn(LD_CONFIG, "Unrecognized flag '%s' on DirServer line",
flag);