Browse Source

V4L/DVB (9920): em28xx: fix NULL pointer dereference in call to VIDIOC_INT_RESET command

Fix a NULL pointer dereference that would occur if the video decoder tied to
the em28xx supports the VIDIOC_INT_RESET call (for example: the cx25840 driver)

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Devin Heitmueller 16 years ago
parent
commit
231ffc9c07
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/media/video/em28xx/em28xx-video.c

+ 2 - 1
drivers/media/video/em28xx/em28xx-video.c

@@ -549,10 +549,11 @@ static int em28xx_config(struct em28xx *dev)
 static void em28xx_config_i2c(struct em28xx *dev)
 static void em28xx_config_i2c(struct em28xx *dev)
 {
 {
 	struct v4l2_routing route;
 	struct v4l2_routing route;
+	int zero = 0;
 
 
 	route.input = INPUT(dev->ctl_input)->vmux;
 	route.input = INPUT(dev->ctl_input)->vmux;
 	route.output = 0;
 	route.output = 0;
-	em28xx_i2c_call_clients(dev, VIDIOC_INT_RESET, NULL);
+	em28xx_i2c_call_clients(dev, VIDIOC_INT_RESET, &zero);
 	em28xx_i2c_call_clients(dev, VIDIOC_INT_S_VIDEO_ROUTING, &route);
 	em28xx_i2c_call_clients(dev, VIDIOC_INT_S_VIDEO_ROUTING, &route);
 	em28xx_i2c_call_clients(dev, VIDIOC_STREAMON, NULL);
 	em28xx_i2c_call_clients(dev, VIDIOC_STREAMON, NULL);
 }
 }