| From c2c65cd2e14ada6de44cb527e7f1990bede24e15 Mon Sep 17 00:00:00 2001 |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| Date: Tue, 29 Oct 2013 22:07:47 +0300 |
| Subject: staging: ozwpan: prevent overflow in oz_cdev_write() |
| |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| |
| commit c2c65cd2e14ada6de44cb527e7f1990bede24e15 upstream. |
| |
| We need to check "count" so we don't overflow the ei->data buffer. |
| |
| Reported-by: Nico Golde <nico@ngolde.de> |
| Reported-by: Fabian Yamaguchi <fabs@goesec.de> |
| Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/staging/ozwpan/ozcdev.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/staging/ozwpan/ozcdev.c |
| +++ b/drivers/staging/ozwpan/ozcdev.c |
| @@ -153,6 +153,9 @@ ssize_t oz_cdev_write(struct file *filp, |
| struct oz_app_hdr *app_hdr; |
| struct oz_serial_ctx *ctx; |
| |
| + if (count > sizeof(ei->data) - sizeof(*elt) - sizeof(*app_hdr)) |
| + return -EINVAL; |
| + |
| spin_lock_bh(&g_cdev.lock); |
| pd = g_cdev.active_pd; |
| if (pd) |