diff options
author | Jorge Villase?or <masca@cpw.pidgin.im> | 2010-09-18 20:56:11 +0000 |
---|---|---|
committer | Jorge Villase?or <masca@cpw.pidgin.im> | 2010-09-18 20:56:11 +0000 |
commit | be357cc0625d1684bd1edfb4afeb33702cfa8d75 (patch) | |
tree | bc01892134c4d55a3be2650dd2cea36cd4f23700 | |
parent | 2eacf4e53dc41bf30cbc84e70b47950ba453006a (diff) | |
download | pidgin-be357cc0625d1684bd1edfb4afeb33702cfa8d75.tar.gz |
Fix a crash when we want to remove a user that is not in the switchboard.
-rw-r--r-- | libpurple/protocols/msn/switchboard.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libpurple/protocols/msn/switchboard.c b/libpurple/protocols/msn/switchboard.c index f443966fa7..153b6a884c 100644 --- a/libpurple/protocols/msn/switchboard.c +++ b/libpurple/protocols/msn/switchboard.c @@ -658,7 +658,10 @@ bye_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) purple_conv_chat_remove_user(PURPLE_CONV_CHAT(swboard->conv), user, NULL); passport = g_list_find_custom(swboard->users, user, (GCompareFunc)strcmp); - g_free(passport->data); + if (passport) + g_free(passport->data); + else + purple_debug_warning("msn", "Can't find user %s in the switchboard\n", user); swboard->users = g_list_delete_link(swboard->users, passport); swboard->current_users--; if (swboard->current_users == 0) |