Parcourir la source

in faccessat slow path, add close-on-exec to pipe fds

as usual, this is needed to avoid fd leaks. as a better solution, the
use of fds could possibly be replaced with mmap and a futex.
Rich Felker il y a 11 ans
Parent
commit
d5bd7dd5d2
1 fichiers modifiés avec 1 ajouts et 1 suppressions
  1. 1 1
      src/unistd/faccessat.c

+ 1 - 1
src/unistd/faccessat.c

@@ -34,7 +34,7 @@ int faccessat(int fd, const char *filename, int amode, int flag)
 	sigset_t set;
 	int ret, p[2];
 
-	if (pipe(p)) return __syscall_ret(-EBUSY);
+	if (pipe2(p, O_CLOEXEC)) return __syscall_ret(-EBUSY);
 	struct ctx c = { .fd = fd, .filename = filename, .amode = amode, .p = p[1] };
 
 	__block_all_sigs(&set);