Skip to contentSkip to conversation

Strange code in NetReceive(..) in net.c

U-Boot-Users Reinhard Arlt 2 participants 3 messages May 2, 2005 – May 9, 2005

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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_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.

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_PROTO path and an "return" before the "break" in the ICMP_ECHO_REPLY path 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
#2 lore raw

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_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.

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_PROTO path and an "return" before the "break" in the ICMP_ECHO_REPLY path 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