diff --git a/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c b/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c index d1e7748b..7470f78f 100644 --- a/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +++ b/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c @@ -113,6 +113,7 @@ crypto_secretbox_open_detached(unsigned char *m, const unsigned char *c, return -1; } if (m == NULL) { + sodium_memzero(subkey, sizeof subkey); 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 4b9e27b0..4649332f 100644 --- a/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +++ b/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c @@ -122,6 +122,7 @@ crypto_secretbox_xchacha20poly1305_open_detached(unsigned char *m, return -1; } if (m == NULL) { + sodium_memzero(subkey, sizeof subkey); return 0; } ACQUIRE_FENCE;