On Thu, Mar 30, 2017 at 12:15 PM, Chanwoo Choi <[email protected]> wrote: > On 2017년 03월 30일 17:59, Andy Shevchenko wrote: >> On Thu, Mar 30, 2017 at 11:39 AM, Chanwoo Choi <[email protected]> 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.
Is there any limit for name? No, there is not (const char *name). Though for now it is quite unlikely to have the issue. Feel free to proceed despite my comment. -- With Best Regards, Andy Shevchenko

