diff options
author | Andrea Shepard <andrea@persephoneslair.org> | 2012-06-15 20:54:45 -0700 |
---|---|---|
committer | Andrea Shepard <andrea@persephoneslair.org> | 2012-06-15 20:54:45 -0700 |
commit | 276f95182c864a4cb9457bf56d842ef297e2cd2b (patch) | |
tree | 07bb426d249e699e74d31a22ddb644daf3c1cce8 /src/or/rendservice.c | |
parent | 88c5d3ca55dddd39e336272c9ce56a59e0092265 (diff) | |
download | tor-276f95182c864a4cb9457bf56d842ef297e2cd2b.tar.gz tor-276f95182c864a4cb9457bf56d842ef297e2cd2b.zip |
Clean keys on stack in rend_service_rendezvous_has_opened()
Diffstat (limited to 'src/or/rendservice.c')
-rw-r--r-- | src/or/rendservice.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/or/rendservice.c b/src/or/rendservice.c index 50950d1ac2..acc3cea223 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -1847,9 +1847,16 @@ rend_service_rendezvous_has_opened(origin_circuit_t *circuit) /* Change the circuit purpose. */ circuit_change_purpose(TO_CIRCUIT(circuit), CIRCUIT_PURPOSE_S_REND_JOINED); - return; + goto done; + err: circuit_mark_for_close(TO_CIRCUIT(circuit), reason); + done: + memset(buf, 0, sizeof(buf)); + memset(serviceid, 0, sizeof(serviceid)); + memset(hexcookie, 0, sizeof(hexcookie)); + + return; } /* |