]> granicus.if.org Git - sudo/commitdiff
Only use closefrom_fallback() if no better method exists.
authorTodd C. Miller <Todd.Miller@sudo.ws>
Thu, 8 Nov 2018 22:17:39 +0000 (15:17 -0700)
committerTodd C. Miller <Todd.Miller@sudo.ws>
Thu, 8 Nov 2018 22:17:39 +0000 (15:17 -0700)
The previous logic was too fragile.

lib/util/closefrom.c

index 60691745e0d4ec5ba903c22348cc9f550b48ff0e..5d75ff262b4ba72c5b2729f8c3178c543da29916 100644 (file)
 # 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 */