From 27b6edbb090f736b101f569620d8ad0e7217ddf8 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Wed, 6 Oct 2021 21:48:35 +0530 Subject: support: Also return fd when it is 0 The fd validity check in open_dev_null checks if fd > 0, which would lead to a leaked fd if it is == 0. Signed-off-by: Siddhesh Poyarekar Reviewed-by: Adhemerval Zanella --- support/support-open-dev-null-range.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'support') diff --git a/support/support-open-dev-null-range.c b/support/support-open-dev-null-range.c index 80d9dba504..66a8504105 100644 --- a/support/support-open-dev-null-range.c +++ b/support/support-open-dev-null-range.c @@ -40,16 +40,16 @@ increase_nofile (void) static int open_dev_null (int flags, mode_t mode) { - int fd = open64 ("/dev/null", flags, mode); - if (fd > 0) - return fd; + int fd = open64 ("/dev/null", flags, mode); + if (fd >= 0) + return fd; - if (fd < 0 && errno != EMFILE) - FAIL_EXIT1 ("open64 (\"/dev/null\", 0x%x, 0%o): %m", flags, mode); + if (fd < 0 && errno != EMFILE) + FAIL_EXIT1 ("open64 (\"/dev/null\", 0x%x, 0%o): %m", flags, mode); - increase_nofile (); + increase_nofile (); - return xopen ("/dev/null", flags, mode); + return xopen ("/dev/null", flags, mode); } struct range -- cgit 1.4.1