summaryrefslogtreecommitdiff
path: root/drivers/staging/media
diff options
context:
space:
mode:
authorCyril Roelandt <tipecaml@gmail.com>2012-11-16 21:17:01 (GMT)
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-12-26 12:04:46 (GMT)
commitcb412a8da82233af001d13c28fc54f25a2001aef (patch)
tree8b6d6f8f985ae3aa2bfb7d39e938f2bf45f3b57f /drivers/staging/media
parent899a179dbf5878fd01c0bd3b0e884ec526916afb (diff)
downloadlinux-fsl-qoriq-cb412a8da82233af001d13c28fc54f25a2001aef.tar.xz
[media] staging/media/solo6x10/v4l2-enc.c: fix error-handling
The return values of copy_to_user() and copy_from_user() cannot be negative. Found using the following semantich patch: <spml> @exists@ identifier ret; statement S; expression E; @@ ( * ret = copy_to_user(...); | * ret = copy_from_user(...); ) ... when != ret = E when != if (ret) { <+... ret = E; ...+> } * if (ret < 0) S </spml> Signed-off-by: Cyril Roelandt <tipecaml@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/staging/media')
-rw-r--r--drivers/staging/media/solo6x10/v4l2-enc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/staging/media/solo6x10/v4l2-enc.c b/drivers/staging/media/solo6x10/v4l2-enc.c
index f8f0da9..4977e86 100644
--- a/drivers/staging/media/solo6x10/v4l2-enc.c
+++ b/drivers/staging/media/solo6x10/v4l2-enc.c
@@ -1619,6 +1619,8 @@ static int solo_s_ext_ctrls(struct file *file, void *priv,
solo_enc->osd_text[OSD_TEXT_MAX] = '\0';
if (!err)
err = solo_osd_print(solo_enc);
+ else
+ err = -EFAULT;
}
break;
default:
@@ -1654,6 +1656,8 @@ static int solo_g_ext_ctrls(struct file *file, void *priv,
err = copy_to_user(ctrl->string,
solo_enc->osd_text,
OSD_TEXT_MAX);
+ if (err)
+ err = -EFAULT;
}
break;
default: