Re: [PATCH] USB: serial: ti_usb_3410_5052: Replace zero-length array with flexible-array member

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2/12/20 01:59, Johan Hovold wrote:
> On Tue, Feb 11, 2020 at 05:24:20PM -0600, Gustavo A. R. Silva wrote:
>> The current codebase makes use of the zero-length array language
>> extension to the C90 standard, but the preferred mechanism to declare
>> variable-length types such as these ones is a flexible array member[1][2],
>> introduced in C99:
>>
>> struct foo {
>>         int stuff;
>>         struct boo array[];
>> };
>>
>> By making use of the mechanism above, we will get a compiler warning
>> in case the flexible array does not occur last in the structure, which
>> will help us prevent some kind of undefined behavior bugs from being
>> inadvertenly introduced[3] to the codebase from now on.
>>
>> This issue was found with the help of Coccinelle.
> 
> Same here, the scripts may need to be updated as you missed a couple of
> instances:
> 
> 	$ git grep '\[0\];' drivers/usb/serial
> 	...
> 	drivers/usb/serial/io_usbvend.h:        __u8    Data[0];                // Data starts here
> 	drivers/usb/serial/io_usbvend.h:        __u8    Data[0];                // Download starts here
> 	...
> 
> Could you replace these as well so that is done in one patch per
> subsystem?
> 

Sure thing. I'll do that.

Thanks for the feedback.
--
Gustavo



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux