From: Mauro Carvalho Chehab <mche...@osg.samsung.com>

[ Upstream commit 82e3b88b679049f043fe9b03991d6d66fc0a43c8 ]

The maximum size for a DiSEqC command is 6, according to the
userspace API. However, the code allows to write up much more values:
        drivers/media/dvb-frontends/cx24116.c:983 cx24116_send_diseqc_msg() 
error: buffer overflow 'd->msg' 6 <= 23

Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mche...@osg.samsung.com>
Signed-off-by: Sasha Levin <sasha.le...@oracle.com>
---
 drivers/media/dvb-frontends/cx24117.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/dvb-frontends/cx24117.c 
b/drivers/media/dvb-frontends/cx24117.c
index a6c3c9e..d2eab06 100644
--- a/drivers/media/dvb-frontends/cx24117.c
+++ b/drivers/media/dvb-frontends/cx24117.c
@@ -1043,7 +1043,7 @@ static int cx24117_send_diseqc_msg(struct dvb_frontend 
*fe,
        dev_dbg(&state->priv->i2c->dev, ")\n");
 
        /* Validate length */
-       if (d->msg_len > 15)
+       if (d->msg_len > sizeof(d->msg))
                return -EINVAL;
 
        /* DiSEqC message */
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to