summaryrefslogtreecommitdiff
path: root/src/or/rendservice.c
diff options
context:
space:
mode:
authorAndrea Shepard <andrea@persephoneslair.org>2012-06-15 20:54:45 -0700
committerAndrea Shepard <andrea@persephoneslair.org>2012-06-15 20:54:45 -0700
commit276f95182c864a4cb9457bf56d842ef297e2cd2b (patch)
tree07bb426d249e699e74d31a22ddb644daf3c1cce8 /src/or/rendservice.c
parent88c5d3ca55dddd39e336272c9ce56a59e0092265 (diff)
downloadtor-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.c9
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;
}
/*