From e44a0a7b970df4b3df57516ded77e4845eb3a7ef Mon Sep 17 00:00:00 2001 From: Kevin McKinney Date: Tue, 8 Nov 2011 22:33:35 -0500 Subject: [PATCH] --- yaml --- r: 281043 b: refs/heads/master c: 51935d2259a476162bbf5c35ff81f3a01057ed6f h: refs/heads/master i: 281041: 963d5041251d19fc65fac2b56e8910a1d92d8553 281039: 3df6b0fa5dd06b8a3d0f4156dc5a20bdcb58ba57 v: v3 --- [refs] | 2 +- trunk/drivers/staging/bcm/Bcmchar.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 85d77031d4ab..d0f81347dd06 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 41c7b7c0fa2f68afb1154e88597ff6b9b97334cf +refs/heads/master: 51935d2259a476162bbf5c35ff81f3a01057ed6f diff --git a/trunk/drivers/staging/bcm/Bcmchar.c b/trunk/drivers/staging/bcm/Bcmchar.c index e110d0e68872..7cffbddd5e9c 100644 --- a/trunk/drivers/staging/bcm/Bcmchar.c +++ b/trunk/drivers/staging/bcm/Bcmchar.c @@ -306,7 +306,11 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg) if (copy_from_user(&sRdmBuffer, IoBuffer.InputBuffer, IoBuffer.InputLength)) return -EFAULT; - /* FIXME: don't trust user supplied length */ + if (IoBuffer.OutputLength > USHRT_MAX || + IoBuffer.OutputLength == 0) { + return -EINVAL; + } + temp_buff = kmalloc(IoBuffer.OutputLength, GFP_KERNEL); if (!temp_buff) return STATUS_FAILURE;