hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/net/usb/rndis_host.c
....@@ -255,7 +255,8 @@
255255
256256 off = le32_to_cpu(u.get_c->offset);
257257 len = le32_to_cpu(u.get_c->len);
258
- if (unlikely((8 + off + len) > CONTROL_BUFFER_SIZE))
258
+ if (unlikely((off > CONTROL_BUFFER_SIZE - 8) ||
259
+ (len > CONTROL_BUFFER_SIZE - 8 - off)))
259260 goto response_error;
260261
261262 if (*reply_len != -1 && len != *reply_len)