diff options
author | gnn <gnn@FreeBSD.org> | 2011-01-07 20:02:05 +0000 |
---|---|---|
committer | gnn <gnn@FreeBSD.org> | 2011-01-07 20:02:05 +0000 |
commit | a6ca4af56352f3a556f847fe386e74305fa0c2aa (patch) | |
tree | 8124cb92be95f0b4b1d11416634fbfa02a0bba8c /sys/netinet/if_ether.c | |
parent | e04e02cf369357e748472dc449e38503fee01903 (diff) | |
download | FreeBSD-src-a6ca4af56352f3a556f847fe386e74305fa0c2aa.zip FreeBSD-src-a6ca4af56352f3a556f847fe386e74305fa0c2aa.tar.gz |
Fix a memory leak in ARP queues.
Pointed out by: jhb@
MFC after: 2 weeks
Diffstat (limited to 'sys/netinet/if_ether.c')
-rw-r--r-- | sys/netinet/if_ether.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index cecd785..f85965c 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -736,8 +736,7 @@ match: la->la_numheld = 0; memcpy(&sa, L3_ADDR(la), sizeof(sa)); LLE_WUNLOCK(la); - for (m_hold = la->la_hold, la->la_hold = NULL; - m_hold != NULL; m_hold = m_hold_next) { + for (; m_hold != NULL; m_hold = m_hold_next) { m_hold_next = m_hold->m_nextpkt; m_hold->m_nextpkt = NULL; (*ifp->if_output)(ifp, m_hold, &sa, NULL); |