diff options
author | Paul Fariello <paul@fariello.eu> | 2019-07-11 18:51:03 +0320 |
---|---|---|
committer | Paul Fariello <paul@fariello.eu> | 2019-07-11 14:25:42 +0200 |
commit | c22df13d9548ac99ed7a50f462227523ee15d8ed (patch) | |
tree | 6e45287bd81a994f89a8eb0a730d1ebf0ae65466 | |
parent | b7144d82febae18c235772bf8abae3c7684f3109 (diff) | |
download | profani-tty-c22df13d9548ac99ed7a50f462227523ee15d8ed.tar.gz |
Dirty fix libgcrypt memleak
-rw-r--r-- | prof.supp | 10 | ||||
-rw-r--r-- | src/omemo/crypto.c | 5 |
2 files changed, 15 insertions, 0 deletions
diff --git a/prof.supp b/prof.supp index bc9ca50a..f894dc75 100644 --- a/prof.supp +++ b/prof.supp @@ -1176,3 +1176,13 @@ fun:SHA1_Update } + +# gcrypt initialization +{ + gcry_rngcsprng_randomize + Memcheck:Leak + fun:malloc + ... + fun:omemo_crypto_init + ... +} diff --git a/src/omemo/crypto.c b/src/omemo/crypto.c index 81d7c922..5a67c3b1 100644 --- a/src/omemo/crypto.c +++ b/src/omemo/crypto.c @@ -55,6 +55,11 @@ omemo_crypto_init(void) gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); + /* Ask for a first random buffer to ensure CSPRNG is initialized. + * Thus we control the memleak produced by gcrypt initialization and we can + * suppress it without having false negatives */ + gcry_free(gcry_random_bytes_secure(1, GCRY_VERY_STRONG_RANDOM)); + return 0; } |