diff options
Diffstat (limited to 'drivers/firewire/core-cdev.c')
| -rw-r--r-- | drivers/firewire/core-cdev.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/firewire/core-cdev.c b/drivers/firewire/core-cdev.c index d8ac0ce2d6b..f7559bfeaba 100644 --- a/drivers/firewire/core-cdev.c +++ b/drivers/firewire/core-cdev.c @@ -563,6 +563,10 @@ static int init_request(struct client *client,  	    (request->length > 4096 || request->length > 512 << speed))  		return -EIO; +	if (request->tcode == TCODE_WRITE_QUADLET_REQUEST && +	    request->length < 4) +		return -EINVAL; +  	e = kmalloc(sizeof(*e) + request->length, GFP_KERNEL);  	if (e == NULL)  		return -ENOMEM;  |