[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] Fix two more coverity-spotted leaks in master.



commit 99457ee7763a2a93cdbaa611a3243e2eb715db65
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date:   Mon Feb 11 17:01:02 2013 -0500

    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.
---
 src/or/connection.c |    1 +
 src/or/dirvote.c    |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/or/connection.c b/src/or/connection.c
index 7b0f081..737da72 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -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));
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index 66dc50d..358708b 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -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));
 

_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits