]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix two memory leaks found by Coverity (CIDs 417-418)
authorNick Mathewson <nickm@torproject.org>
Tue, 27 Oct 2009 02:12:40 +0000 (22:12 -0400)
committerNick Mathewson <nickm@torproject.org>
Tue, 27 Oct 2009 02:12:40 +0000 (22:12 -0400)
The first happens on an error case when a controller wants an
impossible directory object.  The second happens when we can't write
our fingerprint file.

src/or/control.c
src/or/router.c

index 5688b8e71f88eaed4e8c2d7a9b41e3c641a05ff8..f0178d74a905a9029b3b8091335749b8a8d139af 100644 (file)
@@ -1536,6 +1536,7 @@ getinfo_helper_dir(control_connection_t *control_conn,
     if (res) {
       log_warn(LD_CONTROL, "getinfo '%s': %s", question, msg);
       smartlist_free(descs);
+      tor_free(url);
       return -1;
     }
     SMARTLIST_FOREACH(descs, signed_descriptor_t *, sd,
index fcfbe791126fa5edc7835865f86463bb01e20a94..dab4cb8938ea74a5d4364205bf8dadc2778d4341 100644 (file)
@@ -588,6 +588,7 @@ init_keys(void)
     if (write_str_to_file(keydir, fingerprint_line, 0)) {
       log_err(LD_FS, "Error writing fingerprint line to file");
       tor_free(keydir);
+      tor_free(cp);
       return -1;
     }
   }