HomeFreeBSD

dummynet: Fix socket option length validation for IP_DUMMYNET3

Description

dummynet: Fix socket option length validation for IP_DUMMYNET3

The socket option handler tries to ensure that the option length is no
larger than some reasonable maximum, and no smaller than sizeof(struct
dn_id). But the loaded option length is stored in an int, which is
converted to an unsigned integer for the comparison with a size_t, so
negative values are not caught and instead get passed to malloc().

Change the code to use a size_t for the buffer size.

Reviewed by: kp
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D33133

Details

Provenance
markjAuthored on Nov 29 2021, 6:50 PM
Reviewer
kp
Differential Revision
D33133: dummynet: Fix socket option length validation for IP_DUMMYNET3
Parents
rGd5ea04ee7ba6: dummynet: Avoid an out-of-bounds read in do_config()
Branches
Unknown
Tags
Unknown