Переглянути джерело

[media] zc3xx: don't go past quality array

drivers/media/usb/gspca/zc3xx.c:6363 zcxx_s_ctrl() error: buffer overflow 'jpeg_qual' 3 <= 3

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab 10 роки тому
батько
коміт
b036f1cb6e
1 змінених файлів з 1 додано та 1 видалено
  1. 1 1
      drivers/media/usb/gspca/zc3xx.c

+ 1 - 1
drivers/media/usb/gspca/zc3xx.c

@@ -6360,7 +6360,7 @@ static int zcxx_s_ctrl(struct v4l2_ctrl *ctrl)
 			if (ctrl->val <= jpeg_qual[i])
 			if (ctrl->val <= jpeg_qual[i])
 				break;
 				break;
 		}
 		}
-		if (i > 0 && i == qual && ctrl->val < jpeg_qual[i])
+		if (i == ARRAY_SIZE(jpeg_qual) || (i > 0 && i == qual && ctrl->val < jpeg_qual[i]))
 			i--;
 			i--;
 
 
 		/* With high quality settings we need max bandwidth */
 		/* With high quality settings we need max bandwidth */