From: Todd C. Miller Date: Thu, 8 Nov 2018 22:17:39 +0000 (-0700) Subject: Only use closefrom_fallback() if no better method exists. X-Git-Tag: SUDO_1_8_26^2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=537a2f97731d4c2419d4043fa75c6f5f18a2eb5d;p=sudo Only use closefrom_fallback() if no better method exists. The previous logic was too fragile. --- 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 */