From: Colin Ian King Date: Tue, 7 Mar 2017 14:30:47 +0000 (-0300) Subject: [media] atmel-isc: fix off-by-one comparison and out of bounds read issue X-Git-Tag: v4.12-rc1~85^2~202 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6ea87867e552500b242cd5be3590d6c1ff91f508;p=platform%2Fkernel%2Flinux-exynos.git [media] atmel-isc: fix off-by-one comparison and out of bounds read issue The are only HIST_ENTRIES worth of entries in hist_entry however the for-loop is iterating one too many times leasing to a read access off the end off the array ctrls->hist_entry. Fix this by iterating by the correct number of times. Detected by CoverityScan, CID#1415279 ("Out-of-bounds read") Signed-off-by: Colin Ian King Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/platform/atmel/atmel-isc.c b/drivers/media/platform/atmel/atmel-isc.c index b380a7d..7dacf8c 100644 --- a/drivers/media/platform/atmel/atmel-isc.c +++ b/drivers/media/platform/atmel/atmel-isc.c @@ -1298,7 +1298,7 @@ static void isc_hist_count(struct isc_device *isc) regmap_bulk_read(regmap, ISC_HIS_ENTRY, hist_entry, HIST_ENTRIES); *hist_count = 0; - for (i = 0; i <= HIST_ENTRIES; i++) + for (i = 0; i < HIST_ENTRIES; i++) *hist_count += i * (*hist_entry++); }