X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=drivers%2Fmedia%2Fdvb-frontends%2Fsi2168.c;h=821a8f481507a14ec3857c66cd7c4744a6ac3efd;hb=8a28d67457b613258aa0578ccece206d166f2b9f;hp=81788c5a44d838dc1f6e27e7c060db174af56913;hpb=ed14ee0eea8b6808025356cecc87a8007885263f;p=karo-tx-linux.git diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c index 81788c5a44d8..821a8f481507 100644 --- a/drivers/media/dvb-frontends/si2168.c +++ b/drivers/media/dvb-frontends/si2168.c @@ -502,6 +502,10 @@ static int si2168_init(struct dvb_frontend *fe) /* firmware is in the new format */ for (remaining = fw->size; remaining > 0; remaining -= 17) { len = fw->data[fw->size - remaining]; + if (len > SI2168_ARGLEN) { + ret = -EINVAL; + break; + } memcpy(cmd.args, &fw->data[(fw->size - remaining) + 1], len); cmd.wlen = len; cmd.rlen = 1;