Fix two more coverity-spotted leaks in master.

One is a probably-impossible leak if we fail to sign a consensus;
another occurs when we can't look up the user we're trying to chown
our sockets to.
This commit is contained in:
Nick Mathewson 2013-02-11 17:01:02 -05:00
parent f3835bcb37
commit 99457ee776
2 changed files with 2 additions and 1 deletions

View File

@ -1068,6 +1068,7 @@ connection_listener_new(const struct sockaddr *listensockaddr,
log_warn(LD_NET,"Unable to chown() %s socket: user %s not found.",
address, options->User);
tor_close_socket(s);
goto err;
} else if (chown(address, pw->pw_uid, pw->pw_gid) < 0) {
log_warn(LD_NET,"Unable to chown() %s socket: %s.",
address, strerror(errno));

View File

@ -2121,7 +2121,7 @@ networkstatus_compute_consensus(smartlist_t *votes,
digest, digest_len,
signing_key)) {
log_warn(LD_BUG, "Couldn't sign consensus networkstatus.");
return NULL; /* This leaks, but it should never happen. */
goto done;
}
smartlist_add(chunks, tor_strdup(sigbuf));