]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Stop leaking 'sig' at each call of router_append_dirobj_signature()
authorRoger Dingledine <arma@torproject.org>
Sun, 23 Mar 2014 04:42:18 +0000 (00:42 -0400)
committerNick Mathewson <nickm@torproject.org>
Sun, 23 Mar 2014 19:53:51 +0000 (15:53 -0400)
The refactoring in commit cb75519b (tor 0.2.4.13-alpha) introduced
this leak.

src/or/routerparse.c

index 3aa4bdf8a5bdfa5b113ee1cdef14599d75d6f0f7..a6ba669671e75b6b776c076a6524e126bfab7bbd 100644 (file)
@@ -728,7 +728,7 @@ router_get_dirobj_signature(const char *digest,
 
 /** Helper: used to generate signatures for routers, directories and
  * network-status objects.  Given a digest in <b>digest</b> and a secret
- * <b>private_key</b>, generate an PKCS1-padded signature, BASE64-encode it,
+ * <b>private_key</b>, generate a PKCS1-padded signature, BASE64-encode it,
  * surround it with -----BEGIN/END----- pairs, and write it to the
  * <b>buf_len</b>-byte buffer at <b>buf</b>.  Return 0 on success, -1 on
  * failure.
@@ -751,6 +751,7 @@ router_append_dirobj_signature(char *buf, size_t buf_len, const char *digest,
     return -1;
   }
   memcpy(buf+s_len, sig, sig_len+1);
+  tor_free(sig);
   return 0;
 }