| From 12f4543f5d6811f864e6c4952eb27253c7466c02 Mon Sep 17 00:00:00 2001 |
| From: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
| Date: Tue, 28 Apr 2015 18:34:40 -0300 |
| Subject: [media] s5h1420: fix a buffer overflow when checking userspace params |
| |
| From: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
| |
| commit 12f4543f5d6811f864e6c4952eb27253c7466c02 upstream. |
| |
| The maximum size for a DiSEqC command is 6, according to the |
| userspace API. However, the code allows to write up to 7 values: |
| drivers/media/dvb-frontends/s5h1420.c:193 s5h1420_send_master_cmd() error: buffer overflow 'cmd->msg' 6 <= 7 |
| |
| Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/media/dvb-frontends/s5h1420.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/media/dvb-frontends/s5h1420.c |
| +++ b/drivers/media/dvb-frontends/s5h1420.c |
| @@ -180,7 +180,7 @@ static int s5h1420_send_master_cmd (stru |
| int result = 0; |
| |
| dprintk("enter %s\n", __func__); |
| - if (cmd->msg_len > 8) |
| + if (cmd->msg_len > sizeof(cmd->msg)) |
| return -EINVAL; |
| |
| /* setup for DISEQC */ |