Browse Source

Fixed bug #17200, added check for broadcast destinations for PCBs bound to a unicast address.

STABLE-2_1_x
christiaans 20 years ago
parent
commit
7d16087789
  1. 4
      CHANGELOG
  2. 3
      src/core/udp.c

4
CHANGELOG

@ -53,6 +53,10 @@ HISTORY
++ Bug fixes:
2006-08-17 Christiaan Simons
* udp.c: Fixed bug #17200, added check for broadcast
destinations for PCBs bound to a unicast address.
2006-08-07 Christiaan Simons
* api_msg.c: Flushing TCP output in do_close() (bug #15926).

3
src/core/udp.c

@ -145,7 +145,8 @@ udp_input(struct pbuf *p, struct netif *inp)
/* compare PCB local addr+port to UDP destination addr+port */
if ((pcb->local_port == dest) &&
(ip_addr_isany(&pcb->local_ip) ||
ip_addr_cmp(&(pcb->local_ip), &(iphdr->dest)))) {
ip_addr_cmp(&(pcb->local_ip), &(iphdr->dest)) ||
ip_addr_isbroadcast(&(iphdr->dest), inp))) {
local_match = 1;
if ((uncon_pcb == NULL) &&
((pcb->flags & UDP_FLAGS_CONNECTED) == 0)) {

Loading…
Cancel
Save