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
Sponsored by: The FreeBSD Foundation

(cherry picked from commit 1c732c85911eb9e39071cbdb50dfb1f0d76de40f)

Details

Provenance
markjAuthored on Nov 29 2021, 6:50 PM
Parents
rG55351c2620c5: dummynet: Avoid an out-of-bounds read in do_config()
Branches
Unknown
Tags
Unknown