Free mbuf chain when m_dup fails
Fix memory leak where mbuf chain wasn't free()d if iflib_ether_pad() has a failure in m_dup(). Reported by: "Ryan Stone" <rysto32@gmail.com> Sponsored by: Limelight Networks
This commit is contained in:
parent
62a88db158
commit
01b240c231
@ -3125,6 +3125,7 @@ iflib_ether_pad(device_t dev, struct mbuf **m_head, uint16_t min_frame_size)
|
||||
if (!M_WRITABLE(*m_head)) {
|
||||
new_head = m_dup(*m_head, M_NOWAIT);
|
||||
if (new_head == NULL) {
|
||||
m_freem(*m_head);
|
||||
device_printf(dev, "cannot pad short frame, m_dup() failed");
|
||||
return ENOMEM;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user