From 537a2f97731d4c2419d4043fa75c6f5f18a2eb5d Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Thu, 8 Nov 2018 15:17:39 -0700 Subject: [PATCH] Only use closefrom_fallback() if no better method exists. The previous logic was too fragile. --- lib/util/closefrom.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/util/closefrom.c b/lib/util/closefrom.c index 60691745e..5d75ff262 100644 --- a/lib/util/closefrom.c +++ b/lib/util/closefrom.c @@ -43,15 +43,11 @@ # define _POSIX_OPEN_MAX 20 #endif -#if defined(HAVE_FCNTL_CLOSEM) && !defined(HAVE_DIRFD) -# define sudo_closefrom closefrom_fallback -#endif - /* * Close all file descriptors greater than or equal to lowfd. * This is the expensive (fallback) method. */ -void +static void closefrom_fallback(int lowfd) { long fd, maxfd; @@ -131,5 +127,12 @@ sudo_closefrom(int lowfd) } else closefrom_fallback(lowfd); } +#else +void +sudo_closefrom(int lowfd) +{ + closefrom_fallback(lowfd); +} #endif /* HAVE_FCNTL_CLOSEM */ + #endif /* HAVE_CLOSEFROM */ -- 2.50.1