<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content=text/html;charset=iso-8859-1>
<META content="MSHTML 6.00.2900.5803" name=GENERATOR></HEAD>
<BODY id=MailContainerBody 
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-TOP: 15px" leftMargin=0 
topMargin=0 CanvasTabStop="true" name="Compose message area">
<DIV><FONT face=&#23435;&#20307;>Dear all,</FONT></DIV>
<DIV><FONT face=&#23435;&#20307;></FONT>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;>I think I have spotted a bug in libss7 code, I hope somebody 
will check it.</FONT></DIV>
<DIV><FONT face=&#23435;&#20307;></FONT>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;>SVN Rev.:&nbsp;&nbsp;&nbsp; 266<BR>Source file: 
mtp2.c<BR>Lines: 646-652<BR>Snippet of the buggy codes are reproduced 
below:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;>static int lssu_rx(struct mtp2 *link, struct mtp_su_head *h, 
int len)<BR>{<BR>&nbsp;unsigned char lssutype = lssu_type(h);</FONT></DIV>
<DIV><FONT face=&#23435;&#20307;></FONT>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;>&nbsp;if (len &gt; (LSSU_SIZE + 2))&nbsp; /* FCS is two bytes 
*/<BR>&nbsp;&nbsp;mtp_error(link-&gt;master, "Received LSSU with length %d 
longer than expected\n", len);</FONT></DIV>
<DIV><FONT face=&#23435;&#20307;></FONT>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;></FONT>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;></FONT>&nbsp;</DIV>
<DIV><FONT 
face=&#23435;&#20307;>*************************************Separator**********************************</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;>Because LSSU_SIZE is #defined to be 6, the if statement in 
the code above translates to:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;>if (len &gt; (6 + 2))<BR>&nbsp;&nbsp;&nbsp; 
mtp_error(link-&gt;master, "Received LSSU with length %d longer than 
expected\n", len);</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;>but LSSU is of fixed length (6 octets), so it's a bug! The 
above codes will fail to issue a warning message when an erroneous LSSU with 
length 7 of 8 is received.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
8&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp; 
5&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 
2&nbsp;&nbsp;&nbsp;&nbsp; 1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+-----+-----+-----+-----+-----+-----+-----+-----+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1 | BIB 
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
BSN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+-----+-----+-----+-----+-----+-----+-----+-----+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2 | FIB 
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
FSN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+-----+-----+-----+-----+-----+-----+-----+-----+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

|///spare///|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
LI = 1 or 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|-----+-----+-----+-----+-----+-----+-----+-----+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4 |////////////spare////////////|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
LSI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+-----+-----+-----+-----+-----+-----+-----+-----+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+---&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
CK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
--+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6 
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+-----+-----+-----+-----+-----+-----+-----+-----+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
format of an LSSU</FONT></DIV>
<DIV><FONT face=&#23435;&#20307;></FONT>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;></FONT>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;></FONT>&nbsp;</DIV>
<DIV><FONT face=&#23435;&#20307;>Regards!</FONT></DIV></BODY></HTML>