diff options
author | Michael Vetter <jubalh@iodoru.org> | 2019-10-06 19:00:46 +0200 |
---|---|---|
committer | Michael Vetter <jubalh@iodoru.org> | 2019-10-06 19:00:46 +0200 |
commit | 94b401ab965adc641c90d12231704b13ec28c11c (patch) | |
tree | 2d58f3e24b4c4f67860b01164328bd4b907b1c0d /src | |
parent | 1746f5f8a80f78a02f79a9a17f29ebb0a7b179ec (diff) | |
download | profani-tty-94b401ab965adc641c90d12231704b13ec28c11c.tar.gz |
Fix invalid read in muc code
We didn't set the variables to NULL, but the rest of the code depends on this check. ``` ==22201== Invalid read of size 8 ==22201== at 0x44E560: autocomplete_clear (autocomplete.c:69) ==22201== by 0x427B2C: muc_invites_clear (muc.c:190) ==22201== by 0x461328: ev_disconnect_cleanup (common.c:59) ==22201== by 0x463FB5: cl_ev_disconnect (client_events.c:91) ==22201== by 0x431252: cmd_disconnect (cmd_funcs.c:1234) ==22201== by 0x47E883: clears_chat_sessions (test_cmd_disconnect.c:28) ==22201== by 0x487E9E1: _run_test (in /usr/lib64/libcmocka.so.0.7.0) ==22201== by 0x487ECCC: _run_tests (in /usr/lib64/libcmocka.so.0.7.0) ==22201== by 0x47F1BE: main (unittests.c:629) ==22201== Address 0x814b690 is 0 bytes inside a block of size 24 free'd ==22201== at 0x48379AB: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==22201== by 0x44E5F7: autocomplete_free (autocomplete.c:90) ==22201== by 0x4278A0: muc_close (muc.c:97) ==22201== by 0x47DBAA: cmd_join_uses_password_when_supplied (test_cmd_join.c:169) ==22201== by 0x487E9E1: _run_test (in /usr/lib64/libcmocka.so.0.7.0) ==22201== by 0x487ECCC: _run_tests (in /usr/lib64/libcmocka.so.0.7.0) ==22201== by 0x47F1BE: main (unittests.c:629) ==22201== Block was alloc'd at ==22201== at 0x483677F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==22201== by 0x44E51B: autocomplete_new (autocomplete.c:57) ==22201== by 0x427837: muc_init (muc.c:88) ==22201== by 0x47DA77: cmd_join_uses_password_when_supplied (test_cmd_join.c:154) ==22201== by 0x487E9E1: _run_test (in /usr/lib64/libcmocka.so.0.7.0) ==22201== by 0x487ECCC: _run_tests (in /usr/lib64/libcmocka.so.0.7.0) ==22201== by 0x47F1BE: main (unittests.c:629) ```
Diffstat (limited to 'src')
-rw-r--r-- | src/xmpp/muc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/xmpp/muc.c b/src/xmpp/muc.c index 89e707a1..1d773479 100644 --- a/src/xmpp/muc.c +++ b/src/xmpp/muc.c @@ -69,8 +69,8 @@ typedef struct _muc_room_t { GHashTable *rooms = NULL; GHashTable *invite_passwords = NULL; -Autocomplete invite_ac; -Autocomplete confservers_ac; +Autocomplete invite_ac = NULL; +Autocomplete confservers_ac = NULL; static void _free_room(ChatRoom *room); static gint _compare_occupants(Occupant *a, Occupant *b); @@ -100,6 +100,8 @@ muc_close(void) g_hash_table_destroy(invite_passwords); rooms = NULL; invite_passwords = NULL; + invite_ac = NULL; + confservers_ac = NULL; } void |