diff options
author | Jesper Juhl <jj@chaosbits.net> | 2011-08-01 23:39:17 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-09-15 14:58:48 +0200 |
commit | 10e4ac572eeffe5317019bd7330b6058a400dfc2 (patch) | |
tree | 6c2965ac2eb9ddd03509dc672c43ecd3f9614249 /drivers/media | |
parent | 129220848c733c742b92ec8e384788353d13cbeb (diff) | |
download | lwn-10e4ac572eeffe5317019bd7330b6058a400dfc2.tar.gz lwn-10e4ac572eeffe5317019bd7330b6058a400dfc2.zip |
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) struct pci_bus *pbus = pci_find_bus(0, 0); u8 cbyte; + if (!pbus) + return false; pci_bus_read_config_byte(pbus, VIACAM_SERIAL_DEVFN, VIACAM_SERIAL_CREG, &cbyte); if ((cbyte & VIACAM_SERIAL_BIT) == 0) |