chiark / gitweb /
pam_systemd: use F_DUPFD_CLOEXEC when dupping session fds
[elogind.git] / src / login / pam-module.c
index 9873dd547ae166e18f279b8987c3a2184baf9d60..1259457efc5f43351a6cf2f826e8a228cdeb91cf 100644 (file)
@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session(
         }
 
         if (session_fd >= 0) {
-                session_fd = dup(session_fd);
+                session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3);
                 if (session_fd < 0) {
                         pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m");
                         return PAM_SESSION_ERR;