changeset 32742:4a8f81812ba3

Fixes #14983 *** Plucked rev 2e027ee15ef29e082eceea9ec99347cf8751ac4a (thijsalkemade@gmail.com): Fix a possible crash when receiving an unexpected message from the server on ICQ. Refs #14983
author Mark Doliner <mark@kingant.net>
date Sat, 10 Mar 2012 05:25:00 +0000
parents 07b3035b4319
children 8404c5b75e99 6b80dbe29e0c
files ChangeLog libpurple/protocols/oscar/family_icq.c
diffstat 2 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Feb 29 03:15:39 2012 +0000
+++ b/ChangeLog	Sat Mar 10 05:25:00 2012 +0000
@@ -16,6 +16,8 @@
 	  (Dan Williams) (#13859)
 
 	AIM and ICQ:
+	* Fix a possible crash when receiving an unexpected message
+	  from the server. (Thijs Alkemade) (#14983)
 	* Allow signing on with usernames containing periods and
 	  underscores. (#13500)
 	* Allow adding buddies containing periods and underscores. (#13500)
--- a/libpurple/protocols/oscar/family_icq.c	Wed Feb 29 03:15:39 2012 +0000
+++ b/libpurple/protocols/oscar/family_icq.c	Sat Mar 10 05:25:00 2012 +0000
@@ -91,7 +91,6 @@
 
 	request_type = original_snac->data;
 	original_info_ptr = g_slist_find_custom(od->icq_info, &original_snac->id, compare_icq_infos);
-	original_info = original_info_ptr->data;
 
 	if (!original_info_ptr) {
 		purple_debug_misc("oscar", "icq: the request info for the error packet was not found");
@@ -99,6 +98,8 @@
 		return 0;
 	}
 
+	original_info = original_info_ptr->data;
+
 	reason = byte_stream_get16(bs);
 	uin = g_strdup_printf("%u", original_info->uin);
 	switch (*request_type) {