
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@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