瀏覽代碼

[media] af9013: Don't accept invalid bandwidth

If userspace sends an invalid bandwidth, it should either return
EINVAL or switch to auto mode.

This driver will go past an array and program the hardware on a
wrong way if this happens.

Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab 10 年之前
父節點
當前提交
d7b76c91f4
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      drivers/media/dvb-frontends/af9013.c

+ 4 - 0
drivers/media/dvb-frontends/af9013.c

@@ -605,6 +605,10 @@ static int af9013_set_frontend(struct dvb_frontend *fe)
 			}
 		}
 
+		/* Return an error if can't find bandwidth or the right clock */
+		if (i == ARRAY_SIZE(coeff_lut))
+			return -EINVAL;
+
 		ret = af9013_wr_regs(state, 0xae00, coeff_lut[i].val,
 			sizeof(coeff_lut[i].val));
 	}