diff options
author | Jesper Juhl <jj@chaosbits.net> | 2011-08-01 17:39:17 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-09-15 08:58:48 -0400 |
commit | 10e4ac572eeffe5317019bd7330b6058a400dfc2 (patch) | |
tree | 6c2965ac2eb9ddd03509dc672c43ecd3f9614249 /drivers/media | |
parent | 129220848c733c742b92ec8e384788353d13cbeb (diff) |
viacam: Don't explode if pci_find_bus() returns NULL
In the unlikely case that pci_find_bus() should return NULL
viacam_serial_is_enabled() is going to dereference a NULL pointer and
blow up. Better safe than sorry, so be defensive and check the
pointer.
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/via-camera.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/video/via-camera.c b/drivers/media/video/via-camera.c index 85d3048c1d67..bb7f17f2a33c 100644 --- a/drivers/media/video/via-camera.c +++ b/drivers/media/video/via-camera.c | |||
@@ -1332,6 +1332,8 @@ static __devinit bool viacam_serial_is_enabled(void) | |||
1332 | struct pci_bus *pbus = pci_find_bus(0, 0); | 1332 | struct pci_bus *pbus = pci_find_bus(0, 0); |
1333 | u8 cbyte; | 1333 | u8 cbyte; |
1334 | 1334 | ||
1335 | if (!pbus) | ||
1336 | return false; | ||
1335 | pci_bus_read_config_byte(pbus, VIACAM_SERIAL_DEVFN, | 1337 | pci_bus_read_config_byte(pbus, VIACAM_SERIAL_DEVFN, |
1336 | VIACAM_SERIAL_CREG, &cbyte); | 1338 | VIACAM_SERIAL_CREG, &cbyte); |
1337 | if ((cbyte & VIACAM_SERIAL_BIT) == 0) | 1339 | if ((cbyte & VIACAM_SERIAL_BIT) == 0) |