summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/vc4
diff options
context:
space:
mode:
authorMatt Whitlock <[email protected]>2016-10-01 23:49:45 -0400
committerNicolai Hähnle <[email protected]>2016-10-04 11:09:03 +0200
commit42ed8a6c9ccfb8b6b632c3be90fb03d292f53d25 (patch)
tree40dd06c9d73546f182915bdb13c00653cc5d458e /src/gallium/winsys/vc4
parentac6064f91898065c8b82255190a0508204d3f88c (diff)
gallium/winsys: replace calls to dup(2) with fcntl(F_DUPFD_CLOEXEC)
Without this fix, duplicated file descriptors leak into child processes. See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance where the same fix was employed. Cc: <[email protected]> Signed-off-by: Matt Whitlock <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/winsys/vc4')
-rw-r--r--src/gallium/winsys/vc4/drm/vc4_drm_winsys.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c b/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c
index c5434adbb43..23fe8e7b9cf 100644
--- a/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c
+++ b/src/gallium/winsys/vc4/drm/vc4_drm_winsys.c
@@ -22,6 +22,7 @@
*/
#include <unistd.h>
+#include <fcntl.h>
#include "vc4_drm_public.h"
@@ -30,5 +31,5 @@
struct pipe_screen *
vc4_drm_screen_create(int fd)
{
- return vc4_screen_create(dup(fd));
+ return vc4_screen_create(fcntl(fd, F_DUPFD_CLOEXEC, 3));
}