summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2018-10-08 13:05:09 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2018-10-08 13:16:28 +1000
commit3370b6b6a41a27123a45b95ba4820395127c84e7 (patch)
tree90ae3f633f7c0c52751ee49b838e077439f80afa
parenta020fda02fd0aca0c53b2368e6602bbd12002936 (diff)
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>
-rw-r--r--src/v4l.c7
1 files changed, 6 insertions, 1 deletions
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;