Fix possible double free in error path of ixgbe_rxeof.
authorclaudio <claudio@openbsd.org>
Thu, 7 Mar 2024 14:49:47 +0000 (14:49 +0000)
committerclaudio <claudio@openbsd.org>
Thu, 7 Mar 2024 14:49:47 +0000 (14:49 +0000)
commit72ae530b1ed9ee170ede8ceeb2fa8b907b7d680e
tree970aefb93661e3214687faa1bed7f4f8d8552c73
parentf8512acdb5703a4f6be3e7c34787c301c95d4d01
Fix possible double free in error path of ixgbe_rxeof.

If fmp is not-NULL then the buf is part of the mbuf chain of fmp. So
only m_freem either fmp or buf but clear both values.

Also clear the M_PKTHDR flag if buf aka mp is not the first buffer in the
chain.

Double free found by bluhm@
OK bluhm@ jan@
sys/dev/pci/if_ix.c