diff --git a/src/login.c b/src/login.c index 7ec2401e..5fbbc614 100644 --- a/src/login.c +++ b/src/login.c @@ -1288,6 +1288,7 @@ int main (int argc, char **argv) env++; } } + (void) pam_end (pamh, PAM_SUCCESS | PAM_DATA_SILENT); #endif (void) setlocale (LC_ALL, ""); diff --git a/src/su.c b/src/su.c index 04011afa..55ca80d2 100644 --- a/src/su.c +++ b/src/su.c @@ -1156,12 +1156,9 @@ int main (int argc, char **argv) } } - /* - * PAM_DATA_SILENT is not supported by some modules, and - * there is no strong need to clean up the process space's - * memory since we will either call exec or exit. - pam_end (pamh, PAM_SUCCESS | PAM_DATA_SILENT); - */ +#ifdef USE_PAM + (void) pam_end (pamh, PAM_SUCCESS | PAM_DATA_SILENT); +#endif endpwent (); endspent ();