| From 99a0fadf561e1f553c08f0a29f8b2578f55dd5f0 Mon Sep 17 00:00:00 2001 |
| From: Tejun Heo <tj@kernel.org> |
| Date: Wed, 22 Dec 2010 10:06:36 +0100 |
| Subject: PCI: pci-stub: ignore zero-length id parameters |
| |
| From: Tejun Heo <tj@kernel.org> |
| |
| commit 99a0fadf561e1f553c08f0a29f8b2578f55dd5f0 upstream. |
| |
| 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> |
| Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/pci/pci-stub.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/pci/pci-stub.c |
| +++ b/drivers/pci/pci-stub.c |
| @@ -54,6 +54,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); |