diff --git a/CHANGELOG b/CHANGELOG index 69d2110b..853c9ebb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -238,6 +238,10 @@ HISTORY ++ Bug fixes: + 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. + 2007-06-13 Simon Goldschmidt * netif.c: Fixed bug #20180 (TCP pcbs listening on IP_ADDR_ANY could get changed in netif_set_ipaddr if previous netif->ip_addr.addr was 0. diff --git a/src/core/udp.c b/src/core/udp.c index 6c2ab53a..17e9560b 100644 --- a/src/core/udp.c +++ b/src/core/udp.c @@ -140,6 +140,7 @@ udp_input(struct pbuf *p, struct netif *inp) * preferred. If no perfect match is found, the first unconnected pcb that * matches the local port and ip address gets the datagram. */ for (pcb = udp_pcbs; pcb != NULL; pcb = pcb->next) { + local_match = 0; /* print the PCB local and remote address */ LWIP_DEBUGF(UDP_DEBUG, ("pcb (%"U16_F".%"U16_F".%"U16_F".%"U16_F", %"U16_F") --- "