aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/tuners/si2157.c
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2015-12-17 08:48:27 -0800
committerKevin Hilman <khilman@linaro.org>2015-12-17 08:48:27 -0800
commitd3d3a134d75d28034b950bc0b6682ba0be976f37 (patch)
tree71365703ae44c980a80f9b2c02d664cbc3ddd935 /drivers/media/tuners/si2157.c
parenta143f427f3e7c6d80bc1d288334706a1f8237f5f (diff)
parent8b20b3796da06d8ada347c4eaf289c3127da155f (diff)
Merge branch 'v4.1/topic/rt' into linux-linaro-lsk-v4.1-rt
Diffstat (limited to 'drivers/media/tuners/si2157.c')
-rw-r--r--drivers/media/tuners/si2157.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/tuners/si2157.c b/drivers/media/tuners/si2157.c
index d74ae26621ca..c5dbba5b5bc9 100644
--- a/drivers/media/tuners/si2157.c
+++ b/drivers/media/tuners/si2157.c
@@ -165,6 +165,10 @@ static int si2157_init(struct dvb_frontend *fe)
for (remaining = fw->size; remaining > 0; remaining -= 17) {
len = fw->data[fw->size - remaining];
+ if (len > SI2157_ARGLEN) {
+ dev_err(&client->dev, "Bad firmware length\n");
+ goto err_release_firmware;
+ }
memcpy(cmd.args, &fw->data[(fw->size - remaining) + 1], len);
cmd.wlen = len;
cmd.rlen = 1;