Zero a cipher completely before freeing it

We used to only zero the first ptrsize bytes of the cipher. Since
cipher is large enough, we didn't zero too many bytes. Discovered
and fixed by ekir. Fixes bug 1254.
This commit is contained in:
Sebastian Hahn 2010-02-22 11:39:29 +01:00
parent a7e0b2d6d9
commit f5112fa487
2 changed files with 4 additions and 1 deletions

View File

@ -45,6 +45,9 @@ Changes in version 0.2.2.9-alpha - 2010-02-22
- Fix a spec conformance issue: the network-status-version token
must be the first token in a v3 consensus or vote. Discovered by
parakeep. Bugfix on 0.2.0.3-alpha.
- When freeing a cipher, zero it out completely. We only zeroed
the first ptrsize bytes. Bugfix on tor-0.0.2pre8. Discovered
and patched by ekir. Fixes bug 1254.
o Code simplifications and refactoring:
- Generate our manpage and HTML documentation using Asciidoc. This

View File

@ -268,7 +268,7 @@ aes_free_cipher(aes_cnt_cipher_t *cipher)
#ifdef USE_OPENSSL_EVP
EVP_CIPHER_CTX_cleanup(&cipher->key);
#endif
memset(cipher, 0, sizeof(cipher));
memset(cipher, 0, sizeof(aes_cnt_cipher_t));
tor_free(cipher);
}