aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/crypto/oaes_lib.c3
-rw-r--r--src/mnemonics/language_base.h6
2 files changed, 9 insertions, 0 deletions
diff --git a/src/crypto/oaes_lib.c b/src/crypto/oaes_lib.c
index 4c1446898..2cf598e05 100644
--- a/src/crypto/oaes_lib.c
+++ b/src/crypto/oaes_lib.c
@@ -639,7 +639,10 @@ static OAES_RET oaes_key_gen( OAES_CTX * ctx, size_t key_size )
_key->data = (uint8_t *) calloc( key_size, sizeof( uint8_t ));
if( NULL == _key->data )
+ {
+ free( _key );
return OAES_RET_MEM;
+ }
for( _i = 0; _i < key_size; _i++ )
#ifdef OAES_HAVE_ISAAC
diff --git a/src/mnemonics/language_base.h b/src/mnemonics/language_base.h
index 9a60f8a53..e0297c847 100644
--- a/src/mnemonics/language_base.h
+++ b/src/mnemonics/language_base.h
@@ -106,6 +106,12 @@ namespace Language
trimmed_word_map = new std::unordered_map<std::string, uint32_t>;
unique_prefix_length = 4;
}
+ virtual ~Base()
+ {
+ delete word_list;
+ delete word_map;
+ delete trimmed_word_map;
+ }
/*!
* \brief Returns a pointer to the word list.
* \return A pointer to the word list.