# HG changeset patch # User masca@cpw.pidgin.im # Date 1284843371 0 # Node ID e977b0d766a70aa4cc9db41a602d285a6789e3bb # Parent 23be655cc688854ac30fbc5945aa13b2eb68bd34 Fix a crash when we want to remove a user that is not in the switchboard. diff -r 23be655cc688 -r e977b0d766a7 libpurple/protocols/msn/switchboard.c --- a/libpurple/protocols/msn/switchboard.c Wed Sep 15 17:34:21 2010 +0000 +++ b/libpurple/protocols/msn/switchboard.c Sat Sep 18 20:56:11 2010 +0000 @@ -658,7 +658,10 @@ 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)