summaryrefslogtreecommitdiff
path: root/libpam
diff options
context:
space:
mode:
Diffstat (limited to 'libpam')
-rw-r--r--libpam/pam_start.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libpam/pam_start.c b/libpam/pam_start.c
index ef1dae1d..f8955854 100644
--- a/libpam/pam_start.c
+++ b/libpam/pam_start.c
@@ -34,6 +34,11 @@ int pam_start (
return (PAM_BUF_ERR);
}
+ /* All service names should be files below /etc/pam.d and nothing
+ else. Forbid paths. */
+ if (strrchr(service_name, '/') != NULL)
+ service_name = strrchr(service_name, '/') + 1;
+
/* Mark the caller as the application - permission to do certain
things is limited to a module or an application */