mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-09-21 13:34:59 +02:00
fix the assumption that uninitialized variables are 0
clean up router_load_single_router() more svn:r4266
This commit is contained in:
parent
fe78aac027
commit
0fa1890e0e
@ -827,7 +827,7 @@ static int
|
||||
handle_control_postdescriptor(connection_t *conn, uint32_t len,
|
||||
const char *body)
|
||||
{
|
||||
const char *msg;
|
||||
const char *msg=NULL;
|
||||
switch (router_load_single_router(body, &msg)) {
|
||||
case -1:
|
||||
send_control_error(conn,ERR_SYNTAX,msg?msg: "Could not parse descriptor");
|
||||
|
@ -908,21 +908,22 @@ int
|
||||
router_load_single_router(const char *s, const char **msg)
|
||||
{
|
||||
routerinfo_t *ri;
|
||||
tor_assert(msg);
|
||||
|
||||
if (!(ri = router_parse_entry_from_string(s, NULL))) {
|
||||
log_fn(LOG_WARN, "Error parsing router descriptor; dropping.");
|
||||
if (msg) *msg = "Couldn't parse router descriptor";
|
||||
*msg = "Couldn't parse router descriptor";
|
||||
return -1;
|
||||
}
|
||||
if (router_is_me(ri)) {
|
||||
log_fn(LOG_WARN, "Router's identity key matches mine; dropping.");
|
||||
if (msg) *msg = "Router's identity key matches mine.";
|
||||
*msg = "Router's identity key matches mine.";
|
||||
routerinfo_free(ri);
|
||||
return 0;
|
||||
}
|
||||
if (router_resolve(ri)<0) {
|
||||
log_fn(LOG_WARN, "Couldn't resolve router address; dropping.");
|
||||
if (msg) *msg = "Couldn't resolve router address.";
|
||||
*msg = "Couldn't resolve router address.";
|
||||
routerinfo_free(ri);
|
||||
return 0;
|
||||
}
|
||||
@ -934,7 +935,7 @@ router_load_single_router(const char *s, const char **msg)
|
||||
}
|
||||
if (router_add_to_routerlist(ri, msg)<0) {
|
||||
log_fn(LOG_WARN, "Couldn't add router to list; dropping.");
|
||||
if (msg) *msg = "Couldn't add router to list.";
|
||||
*msg = "Couldn't add router to list.";
|
||||
/* ri is already freed */
|
||||
return 0;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user