diff options
author | Michael Vetter <jubalh@iodoru.org> | 2019-07-04 10:30:56 +0200 |
---|---|---|
committer | Michael Vetter <jubalh@iodoru.org> | 2019-07-04 10:30:56 +0200 |
commit | 199162b11afe0e5275f62c65fc82a5bbcc6c9552 (patch) | |
tree | e78d0538b1480ccab2230bc3fad1afbcc2d7028a /src | |
parent | 46ecdc335c61c5adf98894c927bd490ae862b306 (diff) | |
download | profani-tty-199162b11afe0e5275f62c65fc82a5bbcc6c9552.tar.gz |
Add omemo_close function
We call omemo_init() when starting profanity and should have an omemo_close() at exit. For now we free the fingerprint autocompleter in there. Fixes valgrind: ``` ==13226== 24 bytes in 1 blocks are definitely lost in loss record 2,855 of 6,958 ==13226== at 0x483677F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==13226== by 0x48AD39: autocomplete_new (autocomplete.c:57) ==13226== by 0x4AB89F: omemo_init (omemo.c:127) ==13226== by 0x42C283: _init (profanity.c:206) ==13226== by 0x42BFF3: prof_run (profanity.c:98) ==13226== by 0x4B25E6: main (main.c:172) ``` Regards https://github.com/profanity-im/profanity/issues/1131
Diffstat (limited to 'src')
-rw-r--r-- | src/omemo/omemo.c | 9 | ||||
-rw-r--r-- | src/omemo/omemo.h | 1 | ||||
-rw-r--r-- | src/profanity.c | 3 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/omemo/omemo.c b/src/omemo/omemo.c index 96d2d65a..c813dcf0 100644 --- a/src/omemo/omemo.c +++ b/src/omemo/omemo.c @@ -128,6 +128,15 @@ omemo_init(void) } void +omemo_close(void) +{ + if (omemo_ctx.fingerprint_ac) { + autocomplete_free(omemo_ctx.fingerprint_ac); + omemo_ctx.fingerprint_ac = NULL; + } +} + +void omemo_on_connect(ProfAccount *account) { GError *error = NULL; diff --git a/src/omemo/omemo.h b/src/omemo/omemo.h index ae25b5ba..abe21be5 100644 --- a/src/omemo/omemo.h +++ b/src/omemo/omemo.h @@ -56,6 +56,7 @@ typedef struct omemo_key { } omemo_key_t; void omemo_init(void); +void omemo_close(void); void omemo_on_connect(ProfAccount *account); void omemo_on_disconnect(void); void omemo_generate_crypto_materials(ProfAccount *account); diff --git a/src/profanity.c b/src/profanity.c index a9824729..324aa36d 100644 --- a/src/profanity.c +++ b/src/profanity.c @@ -242,6 +242,9 @@ _shutdown(void) #ifdef HAVE_LIBGPGME p_gpg_close(); #endif +#ifdef HAVE_OMEMO + omemo_close(); +#endif chat_log_close(); theme_close(); accounts_close(); |