mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 17:41:22 +00:00
USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
The char buffer buf, receives data directly from user space, so its content might be negative and its elements are left shifted to form an unsigned integer. Since left shifting a negative value is undefined behavior, thus change the char to u8 to elimintate this UB. Signed-off-by: Changming Liu <charley.ashbringer@gmail.com> Link: https://lore.kernel.org/r/20200711043018.928-1-charley.ashbringer@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
48025b4f3f
commit
2b53a19284
@ -761,7 +761,7 @@ static int sisusb_write_mem_bulk(struct sisusb_usb_data *sisusb, u32 addr,
|
|||||||
u8 swap8, fromkern = kernbuffer ? 1 : 0;
|
u8 swap8, fromkern = kernbuffer ? 1 : 0;
|
||||||
u16 swap16;
|
u16 swap16;
|
||||||
u32 swap32, flag = (length >> 28) & 1;
|
u32 swap32, flag = (length >> 28) & 1;
|
||||||
char buf[4];
|
u8 buf[4];
|
||||||
|
|
||||||
/* if neither kernbuffer not userbuffer are given, assume
|
/* if neither kernbuffer not userbuffer are given, assume
|
||||||
* data in obuf
|
* data in obuf
|
||||||
|
Loading…
Reference in New Issue
Block a user