From 00b7aeb49b234d07418d67a1570946eafed85700 Mon Sep 17 00:00:00 2001 From: goldsimon Date: Mon, 25 Jun 2007 17:24:31 +0000 Subject: [PATCH] Fixed bug #20220: UDP PCB search in udp_input(): a non-local match could get udp input packets if the remote side matched. --- CHANGELOG | 4 ++++ src/core/udp.c | 1 + 2 files changed, 5 insertions(+) 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") --- "