mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
in_rtalloc1(9) returns a locked route, so make sure that we use
RTFREE_LOCKED() here. This macro makes sure the reference count on the route is being managed properly. This elimates another case which results in the following message being printed to the console: rtfree: 0xc841ee88 has 1 refs Reviewed by: bz MFC after: 2 weeks
This commit is contained in:
parent
8f6a8ed553
commit
4e57bc3338
1 changed files with 4 additions and 4 deletions
|
|
@ -924,12 +924,12 @@ reply:
|
|||
* over who claims what Ether address.
|
||||
*/
|
||||
if (rt->rt_ifp == ifp) {
|
||||
rtfree(rt);
|
||||
RTFREE_LOCKED(rt);
|
||||
goto drop;
|
||||
}
|
||||
(void)memcpy(ar_tha(ah), ar_sha(ah), ah->ar_hln);
|
||||
(void)memcpy(ar_sha(ah), enaddr, ah->ar_hln);
|
||||
rtfree(rt);
|
||||
RTFREE_LOCKED(rt);
|
||||
|
||||
/*
|
||||
* Also check that the node which sent the ARP packet
|
||||
|
|
@ -948,10 +948,10 @@ reply:
|
|||
" from %s via %s, expecting %s\n",
|
||||
inet_ntoa(isaddr), ifp->if_xname,
|
||||
rt->rt_ifp->if_xname);
|
||||
rtfree(rt);
|
||||
RTFREE_LOCKED(rt);
|
||||
goto drop;
|
||||
}
|
||||
rtfree(rt);
|
||||
RTFREE_LOCKED(rt);
|
||||
|
||||
#ifdef DEBUG_PROXY
|
||||
printf("arp: proxying for %s\n",
|
||||
|
|
|
|||
Loading…
Reference in a new issue