PCI: pci-stub: ignore zero-length id parameters
authorTejun Heo <tj@kernel.org>
Wed, 22 Dec 2010 09:06:36 +0000 (10:06 +0100)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Thu, 23 Dec 2010 20:53:52 +0000 (12:53 -0800)
pci-stub uses strsep() to separate list of ids and generates a warning
message when it fails to parse an id.  However, not specifying the
parameter results in ids set to an empty string.  strsep() happily
returns the empty string as the first token and thus triggers the
warning message spuriously.

Make the tokner ignore zero length ids.

Reported-by: Chris Wright <chrisw@sous-sol.org>
Reported-by: Prasad Joshi <P.G.Joshi@student.reading.ac.uk>
Cc: stable@kernel.org
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/pci-stub.c

index 4c0336b31cafb5fa3b0c00d51b9f7ab03bbb5c8c..775e933c222547d14c30840daebd16b5a438be72 100644 (file)
@@ -58,6 +58,9 @@ static int __init pci_stub_init(void)
                        subdevice = PCI_ANY_ID, class=0, class_mask=0;
                int fields;
 
+               if (!strlen(id))
+                       continue;
+
                fields = sscanf(id, "%x:%x:%x:%x:%x:%x",
                                &vendor, &device, &subvendor, &subdevice,
                                &class, &class_mask);