Re: [PATCH 1/2] extcon: Use BIT() macro for the left-shift operation

From: Chanwoo Choi
Date: Thu Mar 30 2017 - 05:15:43 EST


On 2017ë 03ì 30ì 17:59, Andy Shevchenko wrote:
> On Thu, Mar 30, 2017 at 11:39 AM, Chanwoo Choi <cw00.choi@xxxxxxxxxxx> wrote:
>> This patch just uses the BIT() macro to make the code simple.
>
>> for (i = 0; i < edev->max_supported; i++) {
>> count += sprintf(buf + count, "%s=%d\n",
>> extcon_info[edev->supported_cable[i]].name,
>> - !!(edev->state & (1 << i)));
>> + !!(edev->state & BIT(i)));
>> }
>
> While change is okay, the above code is fragile. There is a potential
> buffer overflow.

When extcon device is registered, extcon_dev_register() check a number of
supported external connectors. The maximum number of supported connectors
is 32. There is no buffer overflow.

--
Best Regards,
Chanwoo Choi
Samsung Electronics