mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-24 02:46:21 +00:00
fix memory leaks in OMEMO
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user