diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2017-01-25 05:38:07 -0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2017-02-03 11:24:48 -0200 |
commit | 814e92b8cadf73ee79f689ec48f64408f3904d19 (patch) | |
tree | e9829d147922ab3ce6231b4366287a211b67175a /drivers/media/v4l2-core | |
parent | 75d1b1379fba4ca2fb6fb7b70141ac0afb807fbf (diff) | |
download | linux-814e92b8cadf73ee79f689ec48f64408f3904d19.tar.bz2 |
[media] v4l2-ctrls.c: add NULL check
Check that the control whose events we want to delete is still there.
Normally this will always be the case, but I am not 100% certain if
there aren't any corner cases when a device is forcibly unbound.
In any case, this will satisfy static checkers and simply make it more
robust.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reported-by: Shaobo <shaobo@cs.utah.edu>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/v4l2-core')
-rw-r--r-- | drivers/media/v4l2-core/v4l2-ctrls.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c index 47001e25fd9e..b9e08e3d6e0e 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls.c +++ b/drivers/media/v4l2-core/v4l2-ctrls.c @@ -3367,6 +3367,9 @@ static void v4l2_ctrl_del_event(struct v4l2_subscribed_event *sev) { struct v4l2_ctrl *ctrl = v4l2_ctrl_find(sev->fh->ctrl_handler, sev->id); + if (ctrl == NULL) + return; + v4l2_ctrl_lock(ctrl); list_del(&sev->node); v4l2_ctrl_unlock(ctrl); |