From 43dc7aa2ba9e2e943b7bde47ce707fd1c0b778b1 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 20 Mar 2018 20:57:37 +0100 Subject: [PATCH] coccinelle: always use fcntl(fd, FD_DUPFD, 3) instead of dup(fd) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Let's avoid fds 0…2 for safety reasons. --- coccinelle/dup-fcntl.cocci | 5 +++++ src/test/test-fd-util.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 coccinelle/dup-fcntl.cocci diff --git a/coccinelle/dup-fcntl.cocci b/coccinelle/dup-fcntl.cocci new file mode 100644 index 0000000000..ef13564282 --- /dev/null +++ b/coccinelle/dup-fcntl.cocci @@ -0,0 +1,5 @@ +@@ +expression fd; +@@ +- dup(fd) ++ fcntl(fd, F_DUPFD, 3) diff --git a/src/test/test-fd-util.c b/src/test/test-fd-util.c index 3f94df2eee..a43a285477 100644 --- a/src/test/test-fd-util.c +++ b/src/test/test-fd-util.c @@ -71,9 +71,9 @@ static void test_same_fd(void) { _cleanup_close_ int a = -1, b = -1, c = -1; assert_se(pipe2(p, O_CLOEXEC) >= 0); - assert_se((a = dup(p[0])) >= 0); + assert_se((a = fcntl(p[0], F_DUPFD, 3)) >= 0); assert_se((b = open("/dev/null", O_RDONLY|O_CLOEXEC)) >= 0); - assert_se((c = dup(a)) >= 0); + assert_se((c = fcntl(a, F_DUPFD, 3)) >= 0); assert_se(same_fd(p[0], p[0]) > 0); assert_se(same_fd(p[1], p[1]) > 0);