media: em28xx: Don't use ops->resume if NULL
Changesetbe7fd3c3a8("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:be7fd3c3a8("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>
This commit is contained in:
		
							parent
							
								
									de6dddffec
								
							
						
					
					
						commit
						fd901b6e81
					
				| @ -1171,8 +1171,9 @@ int em28xx_resume_extension(struct em28xx *dev) | |||||||
| 	dev_info(&dev->intf->dev, "Resuming extensions\n"); | 	dev_info(&dev->intf->dev, "Resuming extensions\n"); | ||||||
| 	mutex_lock(&em28xx_devlist_mutex); | 	mutex_lock(&em28xx_devlist_mutex); | ||||||
| 	list_for_each_entry(ops, &em28xx_extension_devlist, next) { | 	list_for_each_entry(ops, &em28xx_extension_devlist, next) { | ||||||
| 		if (ops->resume) | 		if (!ops->resume) | ||||||
| 			ops->resume(dev); | 			continue; | ||||||
|  | 		ops->resume(dev); | ||||||
| 		if (dev->dev_next) | 		if (dev->dev_next) | ||||||
| 			ops->resume(dev->dev_next); | 			ops->resume(dev->dev_next); | ||||||
| 	} | 	} | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user