commit fa55403

Michael Forney  ·  2017-08-20 01:50:04 +0000 UTC
parent bd3e613
Check snprintf result
1 files changed,  +6, -0
M drm.c
M drm.c
+6, -0
 1@@ -44,6 +44,7 @@ static const struct drm_driver * find_driver(int fd)
 2     struct stat st;
 3     FILE * file;
 4     uint32_t index;
 5+    int n;
 6 
 7     if (fstat(fd, &st) == -1)
 8         return NULL;
 9@@ -51,6 +52,11 @@ static const struct drm_driver * find_driver(int fd)
10     if (getenv("WLD_DRM_DUMB"))
11         goto dumb;
12 
13+    n = snprintf(path, sizeof(path), "/sys/dev/char/%u:%u/device/", major(st.st_rdev), minor(st.st_rdev));
14+    if (n + 6 >= sizeof(path))
15+        return NULL;
16+    path_part = path + n;
17+
18     strcpy(path_part, "vendor");
19     file = fopen(path, "r");
20     if (!file)