From: David Woodhouse Date: Thu, 22 Mar 2018 23:56:52 +0000 (+0000) Subject: Fix use-after-free of room->members when it's reopened X-Git-Tag: v0.9~46 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=da63226b39e2d61b331564969be13bec3aa4950f;p=pidgin-chime.git Fix use-after-free of room->members when it's reopened --- diff --git a/chime-room.c b/chime-room.c index d9b30ac..8167932 100644 --- a/chime-room.c +++ b/chime-room.c @@ -760,8 +760,10 @@ static void close_room(gpointer key, gpointer val, gpointer data) chime_jugg_unsubscribe(room->cxn, room->channel, "RoomMembership", room_membership_jugg_cb, room); room->cxn = NULL; } - if (room->members) - g_hash_table_remove_all(room->members); + if (room->members) { + g_hash_table_destroy(room->members); + room->members = NULL; + } room->members_done[0] = room->members_done[1] = FALSE; }