Discussion:
[PATCH xf86-video-v4l 1/4] Remove unused variable osname
Peter Hutterer
2018-10-08 03:19:33 UTC
Permalink
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 <***@who-t.net>
---
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

_______________________________________________
xorg-***@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: h
Peter Hutterer
2018-10-08 03:19:57 UTC
Permalink
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 <***@who-t.net>
---
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

_______________________________________________
xorg-***@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://l
Peter Hutterer
2018-10-08 03:20:14 UTC
Permalink
Coverity complaint and whatnot

Signed-off-by: Peter Hutterer <***@who-t.net>
---
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

_______________________________________________
xorg-***@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https
Peter Hutterer
2018-10-08 03:20:29 UTC
Permalink
Found by coverity

Signed-off-by: Peter Hutterer <***@who-t.net>
---
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

_______________________________________________
xorg-***@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinf
Dave Airlie
2018-10-08 03:33:47 UTC
Permalink
yay, for all 4.
Post by Peter Hutterer
Coverity is unhappy and there's enough unhappiness in this world already, so
let's go for the low-hanging fruit.
---
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
_______________________________________________
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel
_______________________________________________
xorg-***@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.

Loading...