usb: gadget: rndis: prevent integer overflow in rndis_set_response()
Subsystems (2)
PATCH 1/1 usb: gadget: rndis: prevent integer overflow in rndis_set_response()
If "BufOffset" is very large the "BufOffset + 8" operation can have an integer overflow.
Fixes 38ea1eac7d88 ("usb: gadget: rndis: check size of RNDIS_MSG_SET command")
Signed-off-by Dan Carpenter <[email protected]>
--- drivers/usb/gadget/function/rndis.c | 1 + 1 file changed, 1 insertion(+)
drivers/usb/gadget/function/rndis.c +1 -0
@@ -640,6 +640,7 @@ static int rndis_set_response(struct rndis_params *params, BufLength =le32_to_cpu (buf->InformationBufferLength); BufOffset =le32_to_cpu (buf->InformationBufferOffset);if ((BufLength >RNDIS_MAX_TOTAL_SIZE ) || + (BufOffset >RNDIS_MAX_TOTAL_SIZE ) || (BufOffset +8 >=RNDIS_MAX_TOTAL_SIZE ))return -EINVAL ;
Signature · 1 line
2.20.1