mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-10-02 21:02:10 +00:00
Correct UDP rebind check.
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
This commit is contained in:
parent
a75332a407
commit
8e23b8d903
@ -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 */
|
/* port matches that of PCB in list and REUSEADDR not set -> reject */
|
||||||
if ((ipcb->local_port == port) &&
|
if ((ipcb->local_port == port) &&
|
||||||
/* IP address matches? */
|
/* IP address matches or any IP used? */
|
||||||
ip_addr_cmp(&ipcb->local_ip, ipaddr)) {
|
(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 */
|
/* other PCB already binds to this local IP and port */
|
||||||
LWIP_DEBUGF(UDP_DEBUG,
|
LWIP_DEBUGF(UDP_DEBUG,
|
||||||
("udp_bind: local port %"U16_F" already bound by another pcb\n", port));
|
("udp_bind: local port %"U16_F" already bound by another pcb\n", port));
|
||||||
|
Loading…
Reference in New Issue
Block a user