From 2de0eac7dc42efbfd46d5996f2d22e93c808fd85 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Wed, 23 Jan 2019 18:37:56 +0100 Subject: [PATCH] embed/extmod/modtrezorcrypto: use mnemonic_clear where needed --- embed/extmod/modtrezorcrypto/modtrezorcrypto-bip39.h | 8 ++++++-- vendor/trezor-crypto | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/embed/extmod/modtrezorcrypto/modtrezorcrypto-bip39.h b/embed/extmod/modtrezorcrypto/modtrezorcrypto-bip39.h index 8c40cc690..bde4d4a1b 100644 --- a/embed/extmod/modtrezorcrypto/modtrezorcrypto-bip39.h +++ b/embed/extmod/modtrezorcrypto/modtrezorcrypto-bip39.h @@ -81,7 +81,9 @@ STATIC mp_obj_t mod_trezorcrypto_bip39_generate(mp_obj_t strength) { mp_raise_ValueError("Invalid bit strength (only 128, 160, 192, 224 and 256 values are allowed)"); } const char *mnemo = mnemonic_generate(bits); - return mp_obj_new_str_copy(&mp_type_str, (const uint8_t *)mnemo, strlen(mnemo)); + mp_obj_t res = mp_obj_new_str_copy(&mp_type_str, (const uint8_t *)mnemo, strlen(mnemo)); + mnemonic_clear(); + return res; } STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_trezorcrypto_bip39_generate_obj, mod_trezorcrypto_bip39_generate); @@ -96,7 +98,9 @@ STATIC mp_obj_t mod_trezorcrypto_bip39_from_data(mp_obj_t data) { mp_raise_ValueError("Invalid data length (only 16, 20, 24, 28 and 32 bytes are allowed)"); } const char *mnemo = mnemonic_from_data(bin.buf, bin.len); - return mp_obj_new_str_copy(&mp_type_str, (const uint8_t *)mnemo, strlen(mnemo)); + mp_obj_t res = mp_obj_new_str_copy(&mp_type_str, (const uint8_t *)mnemo, strlen(mnemo)); + mnemonic_clear(); + return res; } STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_trezorcrypto_bip39_from_data_obj, mod_trezorcrypto_bip39_from_data); diff --git a/vendor/trezor-crypto b/vendor/trezor-crypto index c316e775a..d1c52401e 160000 --- a/vendor/trezor-crypto +++ b/vendor/trezor-crypto @@ -1 +1 @@ -Subproject commit c316e775a2152db255ace96b6b65ac0f20525ec0 +Subproject commit d1c52401e4c76c74a10455682ace0655b7aa644c