Bladeren bron

fix fd leak race (missing O_CLOEXEC) in fchmodat

(cherry picked from commit 2736eb6caa70bb6e909d7d8ebbe145c2071435e0)
Rich Felker 10 jaren geleden
bovenliggende
commit
c534aad07d
1 gewijzigde bestanden met toevoegingen van 1 en 1 verwijderingen
  1. 1 1
      src/stat/fchmodat.c

+ 1 - 1
src/stat/fchmodat.c

@@ -21,7 +21,7 @@ int fchmodat(int fd, const char *path, mode_t mode, int flag)
 	if (S_ISLNK(st.st_mode))
 		return __syscall_ret(-EOPNOTSUPP);
 
-	if ((fd2 = __syscall(SYS_openat, fd, path, O_RDONLY|O_PATH|O_NOFOLLOW|O_NOCTTY)) < 0) {
+	if ((fd2 = __syscall(SYS_openat, fd, path, O_RDONLY|O_PATH|O_NOFOLLOW|O_NOCTTY|O_CLOEXEC)) < 0) {
 		if (fd2 == -ELOOP)
 			return __syscall_ret(-EOPNOTSUPP);
 		return __syscall_ret(fd2);