diff options
author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2018-04-23 07:02:39 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2018-05-04 08:59:02 -0400 |
commit | fd901b6e814afcbd54ca65a854f666bd6fe98b8f (patch) | |
tree | 4b2378b572943ac6c84d7847c120590c12bac873 /drivers/media/usb/em28xx | |
parent | de6dddffec461b8d03821501aef092944701d13f (diff) | |
download | op-kernel-dev-fd901b6e814afcbd54ca65a854f666bd6fe98b8f.zip op-kernel-dev-fd901b6e814afcbd54ca65a854f666bd6fe98b8f.tar.gz |
media: em28xx: Don't use ops->resume if NULL
Changeset be7fd3c3a8c5 ("media: em28xx: Hauppauge DualHD
second tuner functionality") introduced a potential NULL pointer
dereference, as pointed by Coverity:
CID 1434731 (#1 of 1): Dereference after null check (FORWARD_NULL)16. var_deref_op: Dereferencing null pointer ops->resume.
var_compare_op: Comparing ops->resume to null implies that ops->resume might be null.
1174 if (ops->resume)
1175 ops->resume(dev);
1176 if (dev->dev_next)
1177 ops->resume(dev->dev_next);
Fixes: be7fd3c3a8c5 ("media: em28xx: Hauppauge DualHD second tuner functionality")
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/usb/em28xx')
-rw-r--r-- | drivers/media/usb/em28xx/em28xx-core.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-core.c b/drivers/media/usb/em28xx/em28xx-core.c index 36d341f..0cefd29 100644 --- a/drivers/media/usb/em28xx/em28xx-core.c +++ b/drivers/media/usb/em28xx/em28xx-core.c @@ -1171,8 +1171,9 @@ int em28xx_resume_extension(struct em28xx *dev) dev_info(&dev->intf->dev, "Resuming extensions\n"); mutex_lock(&em28xx_devlist_mutex); list_for_each_entry(ops, &em28xx_extension_devlist, next) { - if (ops->resume) - ops->resume(dev); + if (!ops->resume) + continue; + ops->resume(dev); if (dev->dev_next) ops->resume(dev->dev_next); } |