From 3bea085b770059e920c5859b42bee2ba06f49fb5 Mon Sep 17 00:00:00 2001 From: Kevin McKinney Date: Wed, 14 Dec 2011 22:44:33 -0500 Subject: [PATCH] --- yaml --- r: 281409 b: refs/heads/master c: b72a7c859efc9e0cf13600b30a555457a08dd86f h: refs/heads/master i: 281407: 08f12033c13b8df0aa3ccdeffcdeec8febe9e4fb 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 02b84edf5605..d182b03c72ed 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d1840eda7add1d0fdee5cf7ad2ac7ad0f656eecb +refs/heads/master: b72a7c859efc9e0cf13600b30a555457a08dd86f diff --git a/trunk/drivers/staging/bcm/Bcmchar.c b/trunk/drivers/staging/bcm/Bcmchar.c index c4d7a6194180..fa4a854ba054 100644 --- a/trunk/drivers/staging/bcm/Bcmchar.c +++ b/trunk/drivers/staging/bcm/Bcmchar.c @@ -999,11 +999,15 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg) } case IOCTL_BCM_GET_DRIVER_VERSION: { + ulong len; + /* Copy Ioctl Buffer structure */ if (copy_from_user(&IoBuffer, argp, sizeof(IOCTL_BUFFER))) return -EFAULT; - if (copy_to_user(IoBuffer.OutputBuffer, VER_FILEVERSION_STR, IoBuffer.OutputLength)) + len = min_t(ulong, IoBuffer.OutputLength, strlen(VER_FILEVERSION_STR) + 1); + + if (copy_to_user(IoBuffer.OutputBuffer, VER_FILEVERSION_STR, len)) return -EFAULT; Status = STATUS_SUCCESS; break;