aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-04-28 18:34:40 -0300
committerBen Hutchings <ben@decadent.org.uk>2015-08-12 16:33:11 +0200
commit4bf124b5f179a9c169c57ef7cd3a74f239063ed1 (patch)
tree331bb63515f030d66046c9e24f16deffb0ab077f /drivers/media
parentba4a679df78ffd52405af90aae3f4481c6945d6d (diff)
downloadkernel_samsung_smdk4412-4bf124b5f179a9c169c57ef7cd3a74f239063ed1.zip
kernel_samsung_smdk4412-4bf124b5f179a9c169c57ef7cd3a74f239063ed1.tar.gz
kernel_samsung_smdk4412-4bf124b5f179a9c169c57ef7cd3a74f239063ed1.tar.bz2
s5h1420: fix a buffer overflow when checking userspace params
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> [bwh: Backported to 3.2: adjust filename] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/frontends/s5h1420.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/s5h1420.c b/drivers/media/dvb/frontends/s5h1420.c
index 3879d2e..507ccae 100644
--- a/drivers/media/dvb/frontends/s5h1420.c
+++ b/drivers/media/dvb/frontends/s5h1420.c
@@ -180,7 +180,7 @@ static int s5h1420_send_master_cmd (struct dvb_frontend* fe,
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 */