diff options
author | glebius <glebius@FreeBSD.org> | 2013-04-25 17:38:04 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2013-04-25 17:38:04 +0000 |
commit | 8b3c8983bcb4b86127d8b76b154c713c66915e9f (patch) | |
tree | 941e7bbf3669ad9af8f30b266c0e1dab95609ce8 /sys/netinet | |
parent | c1ef354a9562a73d6d42cb64f8d97e0d210fe93d (diff) | |
download | FreeBSD-src-8b3c8983bcb4b86127d8b76b154c713c66915e9f.zip FreeBSD-src-8b3c8983bcb4b86127d8b76b154c713c66915e9f.tar.gz |
Fix couple of mbuf leaks in incoming ARP processing.
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/if_ether.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index eaa10aa..7031784 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -558,13 +558,13 @@ in_arpinput(struct mbuf *m) if (ah->ar_pln != sizeof(struct in_addr)) { log(LOG_NOTICE, "in_arp: requested protocol length != %zu\n", sizeof(struct in_addr)); - return; + goto drop; } if (allow_multicast == 0 && ETHER_IS_MULTICAST(ar_sha(ah))) { log(LOG_NOTICE, "arp: %*D is multicast\n", ifp->if_addrlen, (u_char *)ar_sha(ah), ":"); - return; + goto drop; } op = ntohs(ah->ar_op); |