mirror of
https://github.com/torvalds/linux.git
synced 2026-02-04 15:28:49 +08:00
beceem: don't overrun user buffer on read
Serious bug in original code, if app reads 10 bytes but 20 byte msg received memory would get overwritten. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
This commit is contained in:
@@ -139,7 +139,7 @@ static ssize_t bcm_char_read(struct file *filp, char __user *buf, size_t size, l
|
||||
if(Packet)
|
||||
{
|
||||
PktLen = Packet->len;
|
||||
if(copy_to_user(buf, Packet->data, PktLen))
|
||||
if(copy_to_user(buf, Packet->data, min_t(size_t, PktLen, size)))
|
||||
{
|
||||
dev_kfree_skb(Packet);
|
||||
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_PRINTK, 0, 0, "\nReturning from copy to user failure \n");
|
||||
|
||||
Reference in New Issue
Block a user