about summary refs log tree commit diff stats
path: root/src/omemo
diff options
context:
space:
mode:
Diffstat (limited to 'src/omemo')
-rw-r--r--src/omemo/crypto.c5
1 files changed, 5 insertions, 0 deletions
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;
 }