From 8328672289a4a275a9f78781bfb5118ba5a8873e Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Sun, 14 Jan 2024 00:01:25 +0100 Subject: pam_succeed_if: empty strings are no number If an empty string is encountered, do not treat it as 0. Instead, return PAM_SERVICE_ERR as specified in comment. Signed-off-by: Tobias Stoeckmann --- modules/pam_succeed_if/pam_succeed_if.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules/pam_succeed_if') diff --git a/modules/pam_succeed_if/pam_succeed_if.c b/modules/pam_succeed_if/pam_succeed_if.c index 522fc5cf..05be13da 100644 --- a/modules/pam_succeed_if/pam_succeed_if.c +++ b/modules/pam_succeed_if/pam_succeed_if.c @@ -70,13 +70,13 @@ evaluate_num(const pam_handle_t *pamh, const char *left, errno = 0; l = strtoll(left, &p, 0); - if ((p == NULL) || (*p != '\0') || errno) { + if ((p == NULL) || (*p != '\0') || (p == left) || errno) { pam_syslog(pamh, LOG_INFO, "\"%s\" is not a number", left); ret = PAM_SERVICE_ERR; } r = strtoll(right, &p, 0); - if ((p == NULL) || (*p != '\0') || errno) { + if ((p == NULL) || (*p != '\0') || (p == right) || errno) { pam_syslog(pamh, LOG_INFO, "\"%s\" is not a number", right); ret = PAM_SERVICE_ERR; } -- cgit v1.2.3