diff options
author | rwatson <rwatson@FreeBSD.org> | 2006-01-15 12:06:09 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2006-01-15 12:06:09 +0000 |
commit | 428bff839a9349d39cb7f72cfed84283cf8e5722 (patch) | |
tree | fa9aafda98cee73b5a731e32ec0623be50781fbb /sys/dev/an | |
parent | f3be6cf7644d59b10d9bcbc9a5fd57711bf25ac6 (diff) | |
download | FreeBSD-src-428bff839a9349d39cb7f72cfed84283cf8e5722.zip FreeBSD-src-428bff839a9349d39cb7f72cfed84283cf8e5722.tar.gz |
If frame length is excessive, don't leak an mbuf and cluster when
abandoning processing.
Found with: Coverity Prevent (tm)
MFC after: 1 week
Diffstat (limited to 'sys/dev/an')
-rw-r--r-- | sys/dev/an/if_an.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/an/if_an.c b/sys/dev/an/if_an.c index cb22492..3824913 100644 --- a/sys/dev/an/if_an.c +++ b/sys/dev/an/if_an.c @@ -1034,6 +1034,7 @@ an_rxeof(struct an_softc *sc) /* Check for insane frame length */ len = an_rx_desc.an_len + 12; if (len > MCLBYTES) { + m_freem(m); printf("an%d: oversized packet " "received (%d, %d)\n", sc->an_unit, len, MCLBYTES); |