From fade378feec178ec8caabc0db1cefc2e81b19804 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 23 Jul 2019 07:44:41 +0200 Subject: Dont use not needed strdup() in save_identity() I don't see a reason for strdupping here. --- src/omemo/store.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/omemo/store.c b/src/omemo/store.c index 2efcae4c..fe7cf771 100644 --- a/src/omemo/store.c +++ b/src/omemo/store.c @@ -378,7 +378,7 @@ save_identity(const signal_protocol_address *address, uint8_t *key_data, signal_buffer *buffer = signal_buffer_create(key_data, key_len); - GHashTable *trusted = g_hash_table_lookup(identity_key_store->trusted, strdup(address->name)); + GHashTable *trusted = g_hash_table_lookup(identity_key_store->trusted, address->name); if (!trusted) { trusted = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, (GDestroyNotify)signal_buffer_free); g_hash_table_insert(identity_key_store->trusted, strdup(address->name), trusted); -- cgit 1.4.1-2-gfad0 From a9db705faad9768bd723df1ade114b2bfbd22196 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 23 Jul 2019 07:47:16 +0200 Subject: Fix potential leak in omemo_untrust() --- src/omemo/omemo.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/omemo/omemo.c b/src/omemo/omemo.c index 879a237a..80aded61 100644 --- a/src/omemo/omemo.c +++ b/src/omemo/omemo.c @@ -1166,6 +1166,7 @@ omemo_trust(const char *const jid, const char *const fingerprint_formatted) .name_len = strlen(jid), .device_id = device_id, }; + unsigned char *fingerprint_raw = _omemo_fingerprint_decode(fingerprint_formatted, &len); unsigned char djb_type[] = {'\x05'}; signal_buffer *buffer = signal_buffer_create(djb_type, 1); @@ -1188,6 +1189,7 @@ omemo_untrust(const char *const jid, const char *const fingerprint_formatted) GHashTable *trusted = g_hash_table_lookup(omemo_ctx.identity_key_store.trusted, jid); if (!trusted) { + free(identity); return; } -- cgit 1.4.1-2-gfad0 From 1b2e71faac49a946ee713133b6df6c5fa2f252b5 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 23 Jul 2019 08:33:29 +0200 Subject: Fix memleak in save_identity() I don't see a reason for strdupping here. --- src/omemo/store.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/omemo/store.c b/src/omemo/store.c index fe7cf771..2aabd4d5 100644 --- a/src/omemo/store.c +++ b/src/omemo/store.c @@ -388,7 +388,7 @@ save_identity(const signal_protocol_address *address, uint8_t *key_data, /* Long term storage */ char *key_b64 = g_base64_encode(key_data, key_len); char *device_id = g_strdup_printf("%d", address->device_id); - g_key_file_set_string(omemo_trust_keyfile(), address->name, strdup(device_id), key_b64); + g_key_file_set_string(omemo_trust_keyfile(), address->name, device_id, key_b64); g_free(device_id); g_free(key_b64); -- cgit 1.4.1-2-gfad0 rtik/mu/tree/tools/iso/kernel.soso/null.h?h=hlt&id=aa36ee1cdf1beac88f46ba13a2450156f4793b41'>null.h
blob: fffb0aabaa361bc05ad7963e09fc3ae158f64cf7 (plain) (blame)
1
2
3
4
5
6