|
|
|
|
@ -984,8 +984,9 @@ udp_bind(struct udp_pcb *pcb, const ip_addr_t *ipaddr, u16_t port)
|
|
|
|
|
{ |
|
|
|
|
/* port matches that of PCB in list and REUSEADDR not set -> reject */ |
|
|
|
|
if ((ipcb->local_port == port) && |
|
|
|
|
/* IP address matches? */ |
|
|
|
|
ip_addr_cmp(&ipcb->local_ip, ipaddr)) { |
|
|
|
|
/* IP address matches or any IP used? */ |
|
|
|
|
(ip_addr_cmp(&ipcb->local_ip, ipaddr) || ip_addr_isany(ipaddr) || |
|
|
|
|
ip_addr_isany(&ipcb->local_ip))) { |
|
|
|
|
/* other PCB already binds to this local IP and port */ |
|
|
|
|
LWIP_DEBUGF(UDP_DEBUG, |
|
|
|
|
("udp_bind: local port %"U16_F" already bound by another pcb\n", port)); |
|
|
|
|
|