From db18ba8bdf7d0c6d60357b8ab21129c332316a17 Mon Sep 17 00:00:00 2001 From: Michael Santos Date: Wed, 12 Apr 2017 10:20:22 -0400 Subject: server_events: fix potential NULL pointer deref --- src/event/server_events.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/event') diff --git a/src/event/server_events.c b/src/event/server_events.c index f0b2e176..57a681cc 100644 --- a/src/event/server_events.c +++ b/src/event/server_events.c @@ -889,8 +889,8 @@ sv_ev_muc_occupant_online(const char *const room, const char *const nick, const ProfMucWin *mucwin = wins_get_muc(room); if (mucwin) { mucwin_occupant_nick_change(mucwin, old_nick, nick); + wins_private_nick_change(mucwin->roomjid, old_nick, nick); } - wins_private_nick_change(mucwin->roomjid, old_nick, nick); free(old_nick); occupantswin_occupants(room); @@ -907,11 +907,13 @@ sv_ev_muc_occupant_online(const char *const room, const char *const nick, const } prefs_free_string(muc_status_pref); - Jid *jidp = jid_create_from_bare_and_resource(mucwin->roomjid, nick); - ProfPrivateWin *privwin = wins_get_private(jidp->fulljid); - jid_destroy(jidp); - if (privwin) { - privwin_occupant_online(privwin); + if (mucwin) { + Jid *jidp = jid_create_from_bare_and_resource(mucwin->roomjid, nick); + ProfPrivateWin *privwin = wins_get_private(jidp->fulljid); + jid_destroy(jidp); + if (privwin) { + privwin_occupant_online(privwin); + } } occupantswin_occupants(room); -- cgit 1.4.1-2-gfad0