Make sure /proc/$$/fd exists.
authorTobias Brunner <tobias@strongswan.org>
Thu, 13 Oct 2011 09:12:15 +0000 (11:12 +0200)
committerTobias Brunner <tobias@strongswan.org>
Thu, 13 Oct 2011 09:22:40 +0000 (11:22 +0200)
This avoids the error message generated by enumerator_create_directory().

src/libstrongswan/utils.c

index 7ad948f..043330c 100644 (file)
@@ -205,7 +205,7 @@ void closefrom(int lowfd)
 
        /* try to close only open file descriptors on Linux... */
        len = snprintf(fd_dir, sizeof(fd_dir), "/proc/%u/fd", getpid());
-       if (len > 0 && len < sizeof(fd_dir))
+       if (len > 0 && len < sizeof(fd_dir) && access(fd_dir, F_OK) == 0)
        {
                enumerator_t *enumerator = enumerator_create_directory(fd_dir);
                if (enumerator)