[pidgin-ofetion]崩溃原因

5 views
Skip to first unread message

ff

unread,
May 23, 2011, 9:20:54 PM5/23/11
to Openfetion
fetion_sip_get_type函数存在栈溢出的可能,原因是res只有128B,而实际中可能出现更大的需求。我观察到出现过448B。去掉
res,更换之后的函数如下
gint fetion_sip_get_type(const gchar *sip)
{
if(strstr(sip , "I ") == sip )
return SIP_INVITATION;
if(strstr(sip , "M ") == sip )
return SIP_MESSAGE;
if(strstr(sip , "BN ") == sip)
return SIP_NOTIFICATION;
if(strstr(sip , "SIP-C/4.0 ") == sip
|| strstr(sip , "SIP-C/2.0 ") == sip)
return SIP_SIPC_4_0;
if(strstr(sip , "IN ") == sip)
return SIP_INCOMING;
if(strstr(sip , "O ") == sip )
return SIP_OPTION;
return SIP_UNKNOWN;
}
Reply all
Reply to author
Forward
0 new messages