]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
pid1: pass PAM_DATA_SILENT to pam_end() in child
authorLennart Poettering <lennart@poettering.net>
Tue, 1 Feb 2022 11:37:51 +0000 (12:37 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 1 Feb 2022 11:37:51 +0000 (12:37 +0100)
Fixes: #22318
src/core/execute.c

index f2b58303df0f42e6f0de8a0eccbe3fe679bcea67..be2116e0eca3ce8e66b2ed4d9442dc1311254834 100644 (file)
@@ -1343,7 +1343,9 @@ static int setup_pam(
                 ret = 0;
 
         child_finish:
-                pam_end(handle, pam_code | flags);
+                /* NB: pam_end() when called in child processes should set PAM_DATA_SILENT to let the module
+                 * know about this. See pam_end(3) */
+                (void) pam_end(handle, pam_code | flags | PAM_DATA_SILENT);
                 _exit(ret);
         }
 
@@ -1378,7 +1380,7 @@ fail:
                 if (close_session)
                         pam_code = pam_close_session(handle, flags);
 
-                pam_end(handle, pam_code | flags);
+                (void) pam_end(handle, pam_code | flags);
         }
 
         strv_free(e);