mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
Stop leaking 'sig' at each call of router_append_dirobj_signature()
The refactoring in commit cb75519b
(tor 0.2.4.13-alpha) introduced
this leak.
This commit is contained in:
parent
a83abcf5ee
commit
eff16e834b
@ -728,7 +728,7 @@ router_get_dirobj_signature(const char *digest,
|
|||||||
|
|
||||||
/** Helper: used to generate signatures for routers, directories and
|
/** Helper: used to generate signatures for routers, directories and
|
||||||
* network-status objects. Given a digest in <b>digest</b> and a secret
|
* 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
|
* 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
|
* <b>buf_len</b>-byte buffer at <b>buf</b>. Return 0 on success, -1 on
|
||||||
* failure.
|
* failure.
|
||||||
@ -751,6 +751,7 @@ router_append_dirobj_signature(char *buf, size_t buf_len, const char *digest,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
memcpy(buf+s_len, sig, sig_len+1);
|
memcpy(buf+s_len, sig, sig_len+1);
|
||||||
|
tor_free(sig);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user