media: v4l: subdev: Fail graciously when getting try data for NULL state
The state argument for the functions for obtaining various parts of the state is NULL if it is called by drivers for active state. Fail graciously in that case instead of dereferencing a NULL pointer. Suggested-by: Bingbu Cao <bingbu.cao@intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
b9eb3ab6f3
commit
2ba3e38517
@ -1046,6 +1046,8 @@ v4l2_subdev_get_pad_format(struct v4l2_subdev *sd,
|
||||
struct v4l2_subdev_state *state,
|
||||
unsigned int pad)
|
||||
{
|
||||
if (WARN_ON(!state))
|
||||
return NULL;
|
||||
if (WARN_ON(pad >= sd->entity.num_pads))
|
||||
pad = 0;
|
||||
return &state->pads[pad].try_fmt;
|
||||
@ -1064,6 +1066,8 @@ v4l2_subdev_get_pad_crop(struct v4l2_subdev *sd,
|
||||
struct v4l2_subdev_state *state,
|
||||
unsigned int pad)
|
||||
{
|
||||
if (WARN_ON(!state))
|
||||
return NULL;
|
||||
if (WARN_ON(pad >= sd->entity.num_pads))
|
||||
pad = 0;
|
||||
return &state->pads[pad].try_crop;
|
||||
@ -1082,6 +1086,8 @@ v4l2_subdev_get_pad_compose(struct v4l2_subdev *sd,
|
||||
struct v4l2_subdev_state *state,
|
||||
unsigned int pad)
|
||||
{
|
||||
if (WARN_ON(!state))
|
||||
return NULL;
|
||||
if (WARN_ON(pad >= sd->entity.num_pads))
|
||||
pad = 0;
|
||||
return &state->pads[pad].try_compose;
|
||||
|
Loading…
x
Reference in New Issue
Block a user