1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00

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
This commit is contained in:
Michael Vetter 2019-07-04 10:30:56 +02:00
parent 46ecdc335c
commit 199162b11a
3 changed files with 13 additions and 0 deletions

View File

@ -127,6 +127,15 @@ omemo_init(void)
omemo_ctx.fingerprint_ac = autocomplete_new();
}
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)
{

View File

@ -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);

View File

@ -241,6 +241,9 @@ _shutdown(void)
#endif
#ifdef HAVE_LIBGPGME
p_gpg_close();
#endif
#ifdef HAVE_OMEMO
omemo_close();
#endif
chat_log_close();
theme_close();