Re: [PATCH 1/1] v4l: subdev: Fail graciously when getting try data for NULL state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 26/08/2022 14:56, Sakari Ailus wrote:
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

Only for drivers that do not use active state. Which is most of them at the moment.

in that case instead of dereferencing a NULL pointer.

Suggested-by: Bingbu Cao <bingbu.cao@xxxxxxxxx>
Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
---
  include/media/v4l2-subdev.h | 6 ++++++
  1 file changed, 6 insertions(+)

diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
index 9689f38a0af1f..ec1896886dbd6 100644
--- a/include/media/v4l2-subdev.h
+++ b/include/media/v4l2-subdev.h
@@ -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;

Reviewed-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>

 Tomi



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux