Compare commits
No commits in common. 'c9' and 'c8' have entirely different histories.
@ -0,0 +1,29 @@
|
|||||||
|
From 3f9022bdfe3d720ea27cb688512b4672d26a6dd6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Date: Mon, 8 Oct 2018 12:55:37 +1000
|
||||||
|
Subject: [PATCH xf86-video-v4l 1/4] Remove unused variable osname
|
||||||
|
|
||||||
|
Coverity is unhappy and there's enough unhappiness in this world already, so
|
||||||
|
let's go for the low-hanging fruit.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
||||||
|
---
|
||||||
|
src/v4l.c | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/v4l.c b/src/v4l.c
|
||||||
|
index 8db8f7d..0f1058e 100644
|
||||||
|
--- a/src/v4l.c
|
||||||
|
+++ b/src/v4l.c
|
||||||
|
@@ -86,7 +86,6 @@ _X_EXPORT XF86ModuleData v4lModuleData = { &v4lVersRec, v4lSetup, NULL };
|
||||||
|
static pointer
|
||||||
|
v4lSetup(pointer module, pointer opts, int *errmaj, int *errmin)
|
||||||
|
{
|
||||||
|
- const char *osname;
|
||||||
|
static Bool setupDone = FALSE;
|
||||||
|
|
||||||
|
if (setupDone) {
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
@ -0,0 +1,43 @@
|
|||||||
|
From a020fda02fd0aca0c53b2368e6602bbd12002936 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Date: Mon, 8 Oct 2018 12:55:57 +1000
|
||||||
|
Subject: [PATCH xf86-video-v4l 2/4] Ensure the device name is null-terminated
|
||||||
|
|
||||||
|
And expand the size to 18, because the stack array we copied this into is 18
|
||||||
|
bytes long. This covers us for up to 999 (kernel) v4l devices and that is
|
||||||
|
definitely not a reason to use the "640k ought to be enough" meme.
|
||||||
|
|
||||||
|
Found by - you guessed it - coverity!
|
||||||
|
|
||||||
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
||||||
|
---
|
||||||
|
src/v4l.c | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/v4l.c b/src/v4l.c
|
||||||
|
index 0f1058e..583c7b8 100644
|
||||||
|
--- a/src/v4l.c
|
||||||
|
+++ b/src/v4l.c
|
||||||
|
@@ -188,7 +188,7 @@ static const XF86AttributeRec FreqAttr =
|
||||||
|
static struct V4L_DEVICE {
|
||||||
|
int fd;
|
||||||
|
int useCount;
|
||||||
|
- char devName[16];
|
||||||
|
+ char devName[18];
|
||||||
|
} v4l_devices[MAX_V4L_DEVICES] = {
|
||||||
|
{ -1 },
|
||||||
|
{ -1 },
|
||||||
|
@@ -1157,7 +1157,8 @@ V4LInit(ScrnInfoPtr pScrn, XF86VideoAdaptorPtr **adaptors)
|
||||||
|
}
|
||||||
|
|
||||||
|
xf86Msg(X_INFO, "v4l: enabling overlay mode for %s.\n", dev);
|
||||||
|
- strncpy(V4L_NAME, dev, 16);
|
||||||
|
+ strncpy(V4L_NAME, dev, 18);
|
||||||
|
+ V4L_NAME[17] = '\0';
|
||||||
|
V4LBuildEncodings(pPPriv, fd);
|
||||||
|
if (NULL == pPPriv->enc)
|
||||||
|
return FALSE;
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
@ -0,0 +1,41 @@
|
|||||||
|
From 3370b6b6a41a27123a45b95ba4820395127c84e7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Date: Mon, 8 Oct 2018 13:05:09 +1000
|
||||||
|
Subject: [PATCH xf86-video-v4l 3/4] Fix handling of realloc failure
|
||||||
|
|
||||||
|
Coverity complaint and whatnot
|
||||||
|
|
||||||
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
||||||
|
---
|
||||||
|
src/v4l.c | 7 ++++++-
|
||||||
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/v4l.c b/src/v4l.c
|
||||||
|
index 583c7b8..8c2408c 100644
|
||||||
|
--- a/src/v4l.c
|
||||||
|
+++ b/src/v4l.c
|
||||||
|
@@ -1120,6 +1120,7 @@ V4LInit(ScrnInfoPtr pScrn, XF86VideoAdaptorPtr **adaptors)
|
||||||
|
XF86VideoAdaptorPtr *VAR = NULL;
|
||||||
|
char dev[18];
|
||||||
|
int fd,i,j,d;
|
||||||
|
+ void *tmp;
|
||||||
|
|
||||||
|
for (i = 0, d = 0; d < MAX_V4L_DEVICES; d++) {
|
||||||
|
sprintf(dev, "/dev/video%d", d);
|
||||||
|
@@ -1164,7 +1165,11 @@ V4LInit(ScrnInfoPtr pScrn, XF86VideoAdaptorPtr **adaptors)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
/* alloc VideoAdaptorRec */
|
||||||
|
- VAR = realloc(VAR,sizeof(XF86VideoAdaptorPtr)*(i+1));
|
||||||
|
+ tmp = realloc(VAR,sizeof(XF86VideoAdaptorPtr)*(i+1));
|
||||||
|
+ if (!tmp)
|
||||||
|
+ return FALSE;
|
||||||
|
+ VAR = tmp;
|
||||||
|
+
|
||||||
|
VAR[i] = malloc(sizeof(XF86VideoAdaptorRec));
|
||||||
|
if (!VAR[i])
|
||||||
|
return FALSE;
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
@ -0,0 +1,42 @@
|
|||||||
|
From b3244827d97c6659842544b9cc175631e13ae8f3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Date: Mon, 8 Oct 2018 13:06:41 +1000
|
||||||
|
Subject: [PATCH xf86-video-v4l 4/4] Fix ioctl return value handling
|
||||||
|
|
||||||
|
Found by coverity
|
||||||
|
|
||||||
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Reviewed-by: Dave Airlie <airlied@redhat.com>
|
||||||
|
---
|
||||||
|
src/v4l.c | 15 +++++++++------
|
||||||
|
1 file changed, 9 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/v4l.c b/src/v4l.c
|
||||||
|
index 8c2408c..9c6fabe 100644
|
||||||
|
--- a/src/v4l.c
|
||||||
|
+++ b/src/v4l.c
|
||||||
|
@@ -769,12 +769,15 @@ V4lSetPortAttribute(ScrnInfoPtr pScrn,
|
||||||
|
} else if (attribute == xvFreq) {
|
||||||
|
struct v4l2_frequency freq;
|
||||||
|
memset(&freq, 0, sizeof(freq));
|
||||||
|
- ioctl(V4L_FD, VIDIOC_G_FREQUENCY, &freq);
|
||||||
|
- freq.frequency = value;
|
||||||
|
- if (ioctl(V4L_FD, VIDIOC_S_FREQUENCY, &freq) == -1)
|
||||||
|
- xf86Msg(X_ERROR, "v4l: Error %d while setting frequency\n", errno);
|
||||||
|
- else
|
||||||
|
- ret = Success;
|
||||||
|
+ if (ioctl(V4L_FD, VIDIOC_G_FREQUENCY, &freq) == -1) {
|
||||||
|
+ xf86Msg(X_ERROR, "v4l: Error %d while getting frequency\n", errno);
|
||||||
|
+ } else {
|
||||||
|
+ freq.frequency = value;
|
||||||
|
+ if (ioctl(V4L_FD, VIDIOC_S_FREQUENCY, &freq) == -1)
|
||||||
|
+ xf86Msg(X_ERROR, "v4l: Error %d while setting frequency\n", errno);
|
||||||
|
+ else
|
||||||
|
+ ret = Success;
|
||||||
|
+ }
|
||||||
|
} else {
|
||||||
|
for (i = 0; i < pPPriv->n_qctrl; i++)
|
||||||
|
if (pPPriv->XvV4LCtrl[i].xv == attribute)
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
Loading…
Reference in new issue