Mercurial > pidgin
comparison libpurple/protocols/oscar/family_icq.c @ 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 | a8cc50c2279f |
children |
comparison
equal
deleted
inserted
replaced
32741:07b3035b4319 | 32742:4a8f81812ba3 |
---|---|
89 return 0; | 89 return 0; |
90 } | 90 } |
91 | 91 |
92 request_type = original_snac->data; | 92 request_type = original_snac->data; |
93 original_info_ptr = g_slist_find_custom(od->icq_info, &original_snac->id, compare_icq_infos); | 93 original_info_ptr = g_slist_find_custom(od->icq_info, &original_snac->id, compare_icq_infos); |
94 original_info = original_info_ptr->data; | |
95 | 94 |
96 if (!original_info_ptr) { | 95 if (!original_info_ptr) { |
97 purple_debug_misc("oscar", "icq: the request info for the error packet was not found"); | 96 purple_debug_misc("oscar", "icq: the request info for the error packet was not found"); |
98 g_free(original_snac); | 97 g_free(original_snac); |
99 return 0; | 98 return 0; |
100 } | 99 } |
100 | |
101 original_info = original_info_ptr->data; | |
101 | 102 |
102 reason = byte_stream_get16(bs); | 103 reason = byte_stream_get16(bs); |
103 uin = g_strdup_printf("%u", original_info->uin); | 104 uin = g_strdup_printf("%u", original_info->uin); |
104 switch (*request_type) { | 105 switch (*request_type) { |
105 case AIM_ICQ_INFO_REQUEST: | 106 case AIM_ICQ_INFO_REQUEST: |