mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
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) ```
This commit is contained in:
parent
1746f5f8a8
commit
94b401ab96
@ -69,8 +69,8 @@ typedef struct _muc_room_t {
|
|||||||
|
|
||||||
GHashTable *rooms = NULL;
|
GHashTable *rooms = NULL;
|
||||||
GHashTable *invite_passwords = NULL;
|
GHashTable *invite_passwords = NULL;
|
||||||
Autocomplete invite_ac;
|
Autocomplete invite_ac = NULL;
|
||||||
Autocomplete confservers_ac;
|
Autocomplete confservers_ac = NULL;
|
||||||
|
|
||||||
static void _free_room(ChatRoom *room);
|
static void _free_room(ChatRoom *room);
|
||||||
static gint _compare_occupants(Occupant *a, Occupant *b);
|
static gint _compare_occupants(Occupant *a, Occupant *b);
|
||||||
@ -100,6 +100,8 @@ muc_close(void)
|
|||||||
g_hash_table_destroy(invite_passwords);
|
g_hash_table_destroy(invite_passwords);
|
||||||
rooms = NULL;
|
rooms = NULL;
|
||||||
invite_passwords = NULL;
|
invite_passwords = NULL;
|
||||||
|
invite_ac = NULL;
|
||||||
|
confservers_ac = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user