aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@strace.io>2024-01-20 16:00:00 +0000
committerDmitry V. Levin <ldv@strace.io>2024-01-20 16:00:00 +0000
commit63476f211a8c02bcd24786a1373012d1831774ec (patch)
tree8c51620d7800ed668d75a5d940479cc6db8981a9 /modules
parenteeaf310a26b5cb56bdd49885f27621c430c9898d (diff)
downloadpam-63476f211a8c02bcd24786a1373012d1831774ec.tar.gz
pam-63476f211a8c02bcd24786a1373012d1831774ec.tar.bz2
pam-63476f211a8c02bcd24786a1373012d1831774ec.zip
pam_faildelay: fix compilation warnings on 32bit platforms
Fix the following warning reported by gcc on 32bit platforms: pam_faildelay.c: In function 'pam_sm_authenticate': pam_faildelay.c:104:34: error: comparison of integer expressions of different signedness: 'long int' and 'unsigned int' [-Werror=sign-compare] 104 | if (delay < 0 || delay > UINT_MAX) | ^ pam_faildelay.c:123:32: error: comparison of integer expressions of different signedness: 'long int' and 'unsigned int' [-Werror=sign-compare] 123 | if (delay < 0 || delay > UINT_MAX / S_TO_MICROS) | ^ * modules/pam_faildelay/pam_faildelay.c (pam_sm_authenticate): Cast "delay" to "unsigned long" in comparisons with unsigned int. Fixes: dd87776d3683 ("pam_faildelay: validate parameter ranges")
Diffstat (limited to 'modules')
-rw-r--r--modules/pam_faildelay/pam_faildelay.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/modules/pam_faildelay/pam_faildelay.c b/modules/pam_faildelay/pam_faildelay.c
index 96176eec..fba48c9b 100644
--- a/modules/pam_faildelay/pam_faildelay.c
+++ b/modules/pam_faildelay/pam_faildelay.c
@@ -101,7 +101,7 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
const char *val = pam_str_skip_prefix (argv[i], "delay=");
if (val != NULL) {
delay = parse_delay (val);
- if (delay < 0 || delay > UINT_MAX)
+ if (delay < 0 || (unsigned long) delay > UINT_MAX)
{
pam_syslog (pamh, LOG_ERR, "%s (%s) not valid", argv[i], val);
return PAM_IGNORE;
@@ -120,7 +120,7 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
return PAM_IGNORE;
delay = parse_delay (val);
- if (delay < 0 || delay > UINT_MAX / S_TO_MICROS)
+ if (delay < 0 || (unsigned long) delay > UINT_MAX / S_TO_MICROS)
{
pam_syslog (pamh, LOG_ERR, "FAIL_DELAY=%s in %s not valid",
val, LOGIN_DEFS);