X-Git-Url: https://git.cworth.org/git?p=tar;a=blobdiff_plain;f=gnu%2Fsave-cwd.c;fp=gnu%2Fsave-cwd.c;h=c6b6342999119818cdd84ccc43294f81039193f3;hp=6cb3c36bbe8dc7b71d01d42f8ade5652b93f59af;hb=ee168310ec4227174ace489bf5f81f8c2f91cde0;hpb=22f1eb8bc17e5be72dd23d42d6aaa60196ac22e6 diff --git a/gnu/save-cwd.c b/gnu/save-cwd.c index 6cb3c36..c6b6342 100644 --- a/gnu/save-cwd.c +++ b/gnu/save-cwd.c @@ -33,6 +33,7 @@ #include "chdir-long.h" #include "unistd--.h" #include "xgetcwd.h" +#include "cloexec.h" #if GNULIB_FCNTL_SAFER # include "fcntl--.h" @@ -77,7 +78,7 @@ save_cwd (struct saved_cwd *cwd) { cwd->name = NULL; - cwd->desc = open (".", O_RDONLY); + cwd->desc = open (".", O_SEARCH); if (!GNULIB_FCNTL_SAFER) cwd->desc = fd_safer (cwd->desc); if (cwd->desc < 0) @@ -86,6 +87,7 @@ save_cwd (struct saved_cwd *cwd) return cwd->name ? 0 : -1; } + set_cloexec_flag (cwd->desc, true); return 0; }