diff --git a/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c b/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c index e2ba6234..d3754883 100644 --- a/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +++ b/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c @@ -99,6 +99,8 @@ crypto_secretbox_open_detached(unsigned char *m, const unsigned char *c, return -1; } if (m == NULL) { + sodium_memzero(subkey, sizeof subkey); + sodium_memzero(block0, sizeof block0); return 0; } ACQUIRE_FENCE; diff --git a/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c b/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c index aa1b5b4b..484a129f 100644 --- a/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +++ b/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c @@ -106,6 +106,8 @@ crypto_secretbox_xchacha20poly1305_open_detached(unsigned char *m, return -1; } if (m == NULL) { + sodium_memzero(subkey, sizeof subkey); + sodium_memzero(block0, sizeof block0); return 0; } ACQUIRE_FENCE;