diff options
author | Wilmer van der Gaast <wilmer@google.com> | 2011-08-04 16:19:54 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@google.com> | 2011-08-04 16:19:54 +0100 |
commit | 911d97a988d5f3d90c4b15c05adc733ada1fb37a (patch) | |
tree | bef40797d38f32de99204333943a5515afb644a3 /protocols/jabber/sasl.c | |
parent | f988ad3fd0bb29ae8a16f5d921b92fd90b7792a6 (diff) |
Error handling fixes.
Found one double free() bug causing troubles when a buddy_msg() handler takes
down the IM connection immediately.
Diffstat (limited to 'protocols/jabber/sasl.c')
-rw-r--r-- | protocols/jabber/sasl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/protocols/jabber/sasl.c b/protocols/jabber/sasl.c index f232864b..f21a6706 100644 --- a/protocols/jabber/sasl.c +++ b/protocols/jabber/sasl.c @@ -447,7 +447,8 @@ void sasl_oauth2_init( struct im_connection *ic ) static gboolean sasl_oauth2_remove_contact( gpointer data, gint fd, b_input_condition cond ) { struct im_connection *ic = data; - imcb_remove_buddy( ic, "jabber_oauth", NULL ); + if( g_slist_find( jabber_connections, ic ) ) + imcb_remove_buddy( ic, "jabber_oauth", NULL ); return FALSE; } |