Strange code in NetReceive(..) in net.c
Hallo,
if you look at the code for ICMP handling in NetReceive, you will see that:
-- For an ICMP_REDIR_HOST packet, the nc_input_packet code and then the (*packetHandler) is called.
-- For an ICMP_ECHO_REPLY, the (*packetHandler) is called twice.
Is this is not intended, i can prepare a patch.
A "return" before the "break" in the ICMP_PROTO path and an "return" before the "break" in the ICMP_ECHO_REPLY path will do it.
Else the comment after "(ip_>ip_p != IPPROTO_UDP)" should be corrected.
Reinhard
Quoted 2 lines · In message <[email protected]> you wrote:
if you look at the code for ICMP handling in NetReceive, you will see that:
Which version of the code are you talking about?
Quoted 6 lines
-- For an
ICMP_REDIR_HOSTpacket, thenc_input_packetcode and then the (*packetHandler) is called.-- For an
ICMP_ECHO_REPLY, the (*packetHandler) is called twice.Is this is not intended, i can prepare a patch.
We should probably have "return"s in both "case"s. Lokking forward to see your patch.
Quoted 2 lines
A "return" before the "break" in the
ICMP_PROTOpath and an "return" before the "break" in theICMP_ECHO_REPLYpath will do it.
Agreed.
Best regards,
Wolfgang Denk
Signature · 4 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de No one can guarantee the actions of another. -- Spock, "Day of the Dove", stardate unknown
Hello,
here is the patch for the two missing statements.
Reinhard
Quoted 6 lines · Wolfgang Denk
Quoted 1 line · In message <[email protected]> you wrote:
if you look at the code for ICMP handling in NetReceive, you will see that:
Which version of the code are you talking about?
1.1.2
Quoted 18 lines
Quoted 8 lines
-- For an
ICMP_REDIR_HOSTpacket, thenc_input_packetcode and then the (*packetHandler) is called.-- For an
ICMP_ECHO_REPLY, the (*packetHandler) is called twice.Is this is not intended, i can prepare a patch.
We should probably have "return"s in both "case"s. Lokking forward to see your patch.
Quoted 2 lines
A "return" before the "break" in the
ICMP_PROTOpath and an "return" before the "break" in theICMP_ECHO_REPLYpath will do it.
Quoted 6 lines
Agreed.
Best regards,
Wolfgang Denk
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Changelog
Url: http://lists.denx.de/pipermail/u-boot/attachments/20050509/ac73d6e7/attachment.txt
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: net_missing_return_patch
Url: http://lists.denx.de/pipermail/u-boot/attachments/20050509/ac73d6e7/attachment-0001.txt