From: Kazuki Yamaguchi Date: Thu, 26 Jan 2017 04:01:30 +0000 (+0900) Subject: Properly zero cipher_data for ChaCha20-Poly1305 on cleanup X-Git-Tag: OpenSSL_1_1_0e~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3bdc1dc8fcc97a8945ddbc2748e7059207ea3914;p=oweals%2Fopenssl.git Properly zero cipher_data for ChaCha20-Poly1305 on cleanup Fix a typo. Probably this has not been found because EVP_CIPHER_CTX is smaller than EVP_CHACHA_AEAD_CTX and heap overflow does not occur. Reviewed-by: Richard Levitte Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/2294) (cherry picked from commit a8f957686675194d786b41f6e1f7c48bb85723ec) --- diff --git a/crypto/evp/e_chacha20_poly1305.c b/crypto/evp/e_chacha20_poly1305.c index 46bc2cb44f..7fd4f8dfe7 100644 --- a/crypto/evp/e_chacha20_poly1305.c +++ b/crypto/evp/e_chacha20_poly1305.c @@ -316,7 +316,7 @@ static int chacha20_poly1305_cleanup(EVP_CIPHER_CTX *ctx) { EVP_CHACHA_AEAD_CTX *actx = aead_data(ctx); if (actx) - OPENSSL_cleanse(ctx->cipher_data, sizeof(*ctx) + Poly1305_ctx_size()); + OPENSSL_cleanse(ctx->cipher_data, sizeof(*actx) + Poly1305_ctx_size()); return 1; }