usb: sandbox: Bounds check read from buffer
The buffer is 512 bytes but read requests can be 800 bytes. Limit the request to the size of the buffer. Signed-off-by: Andrew Scull <ascull@google.com> Cc: Simon Glass <sjg@chromium.org> Cc: Marek Vasut <marex@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
62120155b6
commit
beb341ae7f
@ -345,6 +345,8 @@ static int sandbox_flash_bulk(struct udevice *dev, struct usb_device *udev,
|
|||||||
} else {
|
} else {
|
||||||
if (priv->alloc_len && len > priv->alloc_len)
|
if (priv->alloc_len && len > priv->alloc_len)
|
||||||
len = priv->alloc_len;
|
len = priv->alloc_len;
|
||||||
|
if (len > sizeof(priv->buff))
|
||||||
|
len = sizeof(priv->buff);
|
||||||
memcpy(buff, priv->buff, len);
|
memcpy(buff, priv->buff, len);
|
||||||
priv->phase = PHASE_STATUS;
|
priv->phase = PHASE_STATUS;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user