Skip to contentSkip to conversation

video/et61x251: improve error handling

PATCH In review Dan Carpenter 2 participants 2 messages Mar 28, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 video/et61x251: improve error handling

The original code doesn't handle the situation where the controller is not found.

drivers/media/video/et61x251/et61x251_core.c +4 -2
index e6c23d5..a5cfc76 100644
@@ -1713,7 +1713,7 @@ et61x251_vidioc_s_ctrl(struct et61x251_device* cam, void __user * arg)
 	if (copy_from_user(&ctrl, arg, sizeof(ctrl)))
 		return -EFAULT;
 
-	for (i = 0; i < ARRAY_SIZE(s->qctrl); i++)
+	for (i = 0; i < ARRAY_SIZE(s->qctrl); i++) {
 		if (ctrl.id = s->qctrl[i].id) {
 			if (s->qctrl[i].flags & V4L2_CTRL_FLAG_DISABLED)
 				return -EINVAL;
@@ -1723,7 +1723,9 @@ et61x251_vidioc_s_ctrl(struct et61x251_device* cam, void __user * arg)
 			ctrl.value -= ctrl.value % s->qctrl[i].step;
 			break;
 		}
-
+	}
+	if (i = ARRAY_SIZE(s->qctrl))
+		return -EINVAL;
 	if ((err = s->set_ctrl(cam, &ctrl)))
 		return err;
 
#1 lore raw

Hi,

this patch seems incomplet.

You had an opening { whitout the corresponding }.

Best regards,
Christophe Jaillet

"Dan Carpenter" <[email protected]> a �crit dans le message de news:20100328114945.GV5069@bicker...

Quoted 4 lines

The original code doesn't handle the situation where the controller is not found.

Signed-off-by Dan Carpenter

<[email protected]>

Review

Quoted 2 lines
(quoted diff) +0 -0

b/drivers/media/video/et61x251/et61x251_core.c

drivers/media/video/et61x251/et61x251_core.c et61x251_vidioc_s_ctrl(struct et61x251_device* cam,

Quoted 4 lines

index e6c23d5..a5cfc76 100644

drivers/media/video/et61x251/et61x251_core.c +0 -0
@@ -1713,7 +1713,7 @@ et61x251_vidioc_s_ctrl(struct et61x251_device* cam,

void __user * arg)

drivers/media/video/et61x251/et61x251_core.c et61x251_vidioc_s_ctrl(struct et61x251_device* cam,

Quoted 9 lines
drivers/media/video/et61x251/et61x251_core.c +1 -1
  if (copy_from_user(&ctrl, arg, sizeof(ctrl)))
  return -EFAULT;
 
- for (i = 0; i < ARRAY_SIZE(s->qctrl); i++)
+ for (i = 0; i < ARRAY_SIZE(s->qctrl); i++) {
  if (ctrl.id == s->qctrl[i].id) {
  if (s->qctrl[i].flags & V4L2_CTRL_FLAG_DISABLED)
  return -EINVAL;
@@ -1723,7 +1723,9 @@ et61x251_vidioc_s_ctrl(struct et61x251_device* cam,

void __user * arg)

Quoted 3 lines
drivers/media/video/et61x251/et61x251_core.c +0 -0
  ctrl.value -= ctrl.value % s->qctrl[i].step;
  break;
  }