mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
Staging: rspiusb: Fix buffer overflow
usb_buffer_map_sg() may return -1. This will result in a read from pdx->PixelUrb[frameInfo][-1] Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
5fb4d2525b
commit
749d00dbf1
1 changed files with 2 additions and 0 deletions
|
@ -716,6 +716,8 @@ static int MapUserBuffer(struct ioctl_struct *io, struct device_extension *pdx)
|
||||||
pdx->PixelUrb[frameInfo][i]->transfer_flags =
|
pdx->PixelUrb[frameInfo][i]->transfer_flags =
|
||||||
URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT;
|
URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT;
|
||||||
}
|
}
|
||||||
|
if (i == 0)
|
||||||
|
return -EINVAL;
|
||||||
/* only interrupt when last URB completes */
|
/* only interrupt when last URB completes */
|
||||||
pdx->PixelUrb[frameInfo][--i]->transfer_flags &= ~URB_NO_INTERRUPT;
|
pdx->PixelUrb[frameInfo][--i]->transfer_flags &= ~URB_NO_INTERRUPT;
|
||||||
pdx->pendedPixelUrbs[frameInfo] =
|
pdx->pendedPixelUrbs[frameInfo] =
|
||||||
|
|
Loading…
Reference in a new issue