fix the assumption that uninitialized variables are 0

clean up router_load_single_router() more


svn:r4266
This commit is contained in:
Roger Dingledine 2005-05-18 03:52:07 +00:00
parent fe78aac027
commit 0fa1890e0e
2 changed files with 6 additions and 5 deletions

View File

@ -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");

View File

@ -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 {