diff options
Diffstat (limited to 'src/omemo/store.c')
-rw-r--r-- | src/omemo/store.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/omemo/store.c b/src/omemo/store.c index e0fc41ed..3825c95d 100644 --- a/src/omemo/store.c +++ b/src/omemo/store.c @@ -40,12 +40,10 @@ #include "omemo/omemo.h" #include "omemo/store.h" -static void _g_hash_table_free(GHashTable* hash_table); - GHashTable* session_store_new(void) { - return g_hash_table_new_full(g_str_hash, g_str_equal, free, (GDestroyNotify)_g_hash_table_free); + return g_hash_table_new_full(g_str_hash, g_str_equal, free, (GDestroyNotify)glib_hash_table_free); } GHashTable* @@ -63,11 +61,19 @@ signed_pre_key_store_new(void) void identity_key_store_new(identity_key_store_t* identity_key_store) { - identity_key_store->trusted = g_hash_table_new_full(g_str_hash, g_str_equal, free, (GDestroyNotify)signal_buffer_free); + identity_key_store->trusted = g_hash_table_new_full(g_str_hash, g_str_equal, free, (GDestroyNotify)glib_hash_table_free); identity_key_store->private = NULL; identity_key_store->public = NULL; } +void +identity_key_store_destroy(identity_key_store_t* identity_key_store) +{ + signal_buffer_bzero_free(identity_key_store->private); + signal_buffer_bzero_free(identity_key_store->public); + glib_hash_table_free(identity_key_store->trusted); +} + int load_session(signal_buffer** record, signal_buffer** user_record, const signal_protocol_address* address, void* user_data) @@ -450,10 +456,3 @@ load_sender_key(signal_buffer** record, signal_buffer** user_record, { return SG_SUCCESS; } - -static void -_g_hash_table_free(GHashTable* hash_table) -{ - g_hash_table_remove_all(hash_table); - g_hash_table_unref(hash_table); -} |