HomeFreeBSD

Fix a bug in the client side krpc where it was, sometimes

Description

Fix a bug in the client side krpc where it was, sometimes
erroneously, assumed that 4 bytes of data were in the first
mbuf of a list by replacing the bcopy() with m_copydata().
Also, replace the uses of m_pullup(), which can fail for
reasons other than not enough data, with m_copydata().
For the cases where it isn't known that there is enough
data in the mbuf list, check first via m_len and m_length().
This is believed to fix a problem reported by dpd at dpdtech.com
and george+freebsd at m5p.com.

Reviewed by: jhb
MFC after: 8 days

Details

Provenance
rmacklemAuthored on Jan 10 2011, 9:35 PM
Parents
rGea5bef4942be: Remove impossible error conditions.
Branches
Unknown
Tags
Unknown

Event Timeline