we need to do more hunting, but this fixes the ones mentioned in 2385.
o Minor bugfixes
- Zero out a few more keys in memory before freeing them. Fixes bug
- 2384. Found by cypherpunks. Bugfix on 0.0.2pre9.
+ 2384 and part of bug 2385. These key instances found by
+ "cypherpunks". Bugfix on 0.0.2pre9.
* attach only the connections that are waiting on this circuit, rather
* than trying to attach them all. See comments bug 743. */
connection_ap_attach_pending();
+ memset(keys, 0, sizeof(keys));
return 0;
err:
+ memset(keys, 0, sizeof(keys));
circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_TORPROTOCOL);
return -1;
}
memcpy(cpath->handshake_digest, keys, DIGEST_LEN);
if (extend_info) extend_info_free(extend_info);
+ memset(keys, 0, sizeof(keys));
return 0;
err:
+ memset(keys, 0, sizeof(keys));
if (dh) crypto_dh_free(dh);
if (launched)
circuit_mark_for_close(TO_CIRCUIT(launched), reason);