net: arp: Fix a potential bug in arp_notify()
Summary: - In arp_wait_setup() and arp_wait_cancel(), g_arp_waiters is protected by a critical section. - However, I noticed that arp_notify() does not protect the g_arp_waiters that would cause memory corruption - This commit fixes the issue. Impact: - None Testing: - Tested with spresense:rndis_smp, spresense:rndis Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
This commit is contained in:
parent
b3f7cf9ad9
commit
59ed02c604
|
@ -188,6 +188,9 @@ int arp_wait(FAR struct arp_notify_s *notify, unsigned int timeout)
|
|||
void arp_notify(in_addr_t ipaddr)
|
||||
{
|
||||
FAR struct arp_notify_s *curr;
|
||||
irqstate_t flags;
|
||||
|
||||
flags = enter_critical_section();
|
||||
|
||||
/* Find an entry with the matching IP address in the list of waiters */
|
||||
|
||||
|
@ -207,6 +210,8 @@ void arp_notify(in_addr_t ipaddr)
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
leave_critical_section(flags);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_NET_ARP_SEND */
|
||||
|
|
Loading…
Reference in New Issue