mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-12-29 12:14:28 +00:00
Fixed bug #20253: icmp_dest_unreach was called with a wrong p->payload for udp packets with no matching pcb.
This commit is contained in:
parent
00b7aeb49b
commit
dcc2247a90
@ -238,6 +238,10 @@ HISTORY
|
||||
|
||||
++ Bug fixes:
|
||||
|
||||
2007-06-25 Simon Goldschmidt
|
||||
* udp.c: Fixed bug #20253: icmp_dest_unreach was called with a wrong p->payload
|
||||
for udp packets with no matching pcb.
|
||||
|
||||
2007-06-25 Simon Goldschmidt
|
||||
* udp.c: Fixed bug #20220: UDP PCB search in udp_input(): a non-local match
|
||||
could get udp input packets if the remote side matched.
|
||||
|
@ -257,7 +257,7 @@ udp_input(struct pbuf *p, struct netif *inp)
|
||||
if (!ip_addr_isbroadcast(&iphdr->dest, inp) &&
|
||||
!ip_addr_ismulticast(&iphdr->dest)) {
|
||||
/* move payload pointer back to ip header */
|
||||
pbuf_header(p, (IPH_HL(iphdr) * 4));
|
||||
pbuf_header(p, (IPH_HL(iphdr) * 4) + UDP_HLEN);
|
||||
LWIP_ASSERT("p->payload == iphdr", (p->payload == iphdr));
|
||||
icmp_dest_unreach(p, ICMP_DUR_PORT);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user