[U-Boot] [PATCH 04/10] g_dnl: Properly terminate string list.
Pantelis Antoniou
panto at antoniou-consulting.com
Thu Nov 29 14:22:43 CET 2012
Hi Marek,
On Nov 29, 2012, at 10:20 AM, Marek Vasut wrote:
> Dear Pantelis Antoniou,
>
>> Well, not terminating the list causes very interesting crashes.
>> As in changing the vendor & product ID crashes. Fun.
>>
>> Signed-off-by: Pantelis Antoniou <panto at antoniou-consulting.com>
>> ---
>> drivers/usb/gadget/g_dnl.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c
>> index 25da733..a5a4c1f 100644
>> --- a/drivers/usb/gadget/g_dnl.c
>> +++ b/drivers/usb/gadget/g_dnl.c
>> @@ -69,6 +69,7 @@ static struct usb_device_descriptor device_desc = {
>> static struct usb_string[] = {
>> { 0, manufacturer, },
>> { 1, product, },
>> + { } /* end of list */
>
> So you're adding an uninited entry here? How'll this work?
>
This is very common idiom. It's not uninitialized, all the members are
set to 0, including the char * members.
It is exactly the same method used in drivers/usb/gadget/ether.c
>> };
>>
>> static struct usb_gadget_strings g_dnl_string_tab = {
>
> Best regards,
> Marek Vasut
Regards
-- Pantelis
More information about the U-Boot
mailing list