summaryrefslogtreecommitdiffstats
path: root/sesman
diff options
context:
space:
mode:
authorBLINDAUER Emmanuel <e.blindauer@gmail.com>2014-09-20 09:08:41 +0200
committerBLINDAUER Emmanuel <e.blindauer@gmail.com>2014-09-20 09:08:41 +0200
commitb6eb6d96961495ce69791e178d7456299abd1e5c (patch)
treef72d64f518bd936bfe802b8ba0a90b40b9f902db /sesman
parent316445c15ddc39cb615343455514944e4bef18dd (diff)
downloadxrdp-proprietary-b6eb6d96961495ce69791e178d7456299abd1e5c.tar.gz
xrdp-proprietary-b6eb6d96961495ce69791e178d7456299abd1e5c.zip
If auth fails, call pam_end so PAM backends can call _cleanup
Diffstat (limited to 'sesman')
-rw-r--r--sesman/verify_user_pam.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sesman/verify_user_pam.c b/sesman/verify_user_pam.c
index 4d73f85d..eec12c66 100644
--- a/sesman/verify_user_pam.c
+++ b/sesman/verify_user_pam.c
@@ -122,6 +122,7 @@ auth_userpass(char *user, char *pass, int *errorcode)
*errorcode = error ;
}
g_printf("pam_start failed: %s\r\n", pam_strerror(auth_info->ph, error));
+ pam_end(auth_info->ph, error);
g_free(auth_info);
return 0;
}
@@ -135,6 +136,7 @@ auth_userpass(char *user, char *pass, int *errorcode)
}
g_printf("pam_authenticate failed: %s\r\n",
pam_strerror(auth_info->ph, error));
+ pam_end(auth_info->ph, error);
g_free(auth_info);
return 0;
}
@@ -153,6 +155,7 @@ auth_userpass(char *user, char *pass, int *errorcode)
}
g_printf("pam_acct_mgmt failed: %s\r\n",
pam_strerror(auth_info->ph, error));
+ pam_end(auth_info->ph, error);
g_free(auth_info);
return 0;
}