[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c19ce380-2355-3a1f-1896-3eab4c75dca6@canonical.com>
Date: Thu, 9 Mar 2017 11:50:34 +0000
From: Colin Ian King <colin.king@...onical.com>
To: wharms@....de, Hans Verkuil <hverkuil@...all.nl>
Cc: "Wu, Songjun" <Songjun.Wu@...rochip.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
linux-media@...r.kernel.org, kernel-janitors@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] [media] atmel-isc: fix off-by-one comparison and out of
bounds read issue
On 09/03/17 11:49, walter harms wrote:
>
>
> Am 09.03.2017 11:57, schrieb Hans Verkuil:
>> Hi Songjun,
>>
>> On 08/03/17 03:25, Wu, Songjun wrote:
>>> Hi Colin,
>>>
>>> Thank you for your comment.
>>> It is a bug, will be fixed in the next patch.
>>
>> Do you mean that you will provide a new patch for this? Is there anything
>> wrong with this patch? It seems reasonable to me.
>>
>> Regards,
>>
>> Hans
>>
>
>
>
> perhaps he will make it a bit more readable, like:
>
> *hist_count += i * (*hist_entry++);
>
> *hist_count += hist_entry[i]*i;
As long as it gets fixed somehow, then I'm happy.
Colin
>
>
> re,
> wh
>>>
>>> On 3/7/2017 22:30, Colin King wrote:
>>>> From: Colin Ian King <colin.king@...onical.com>
>>>>
>>>> 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 <colin.king@...onical.com>
>>>> ---
>>>> drivers/media/platform/atmel/atmel-isc.c | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> 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++);
>>>> }
>>>>
>>>>
>>
>
>
>
>
>> --
>> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
>> the body of a message to majordomo@...r.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
Powered by blists - more mailing lists