summaryrefslogtreecommitdiffstats
path: root/lib/libutil
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-10-29 20:18:37 +0000
committerdim <dim@FreeBSD.org>2014-10-29 20:18:37 +0000
commita4cb0d397c82c181500feacc463bc5ff9e28a53c (patch)
treecd655db875be8f6300e2d483719f551662eccb0b /lib/libutil
parentdde27ca539609de3097606aea6701c6c2ad8e6ca (diff)
downloadFreeBSD-src-a4cb0d397c82c181500feacc463bc5ff9e28a53c.zip
FreeBSD-src-a4cb0d397c82c181500feacc463bc5ff9e28a53c.tar.gz
Fix a clang 3.5 warning about abs(3) being given an argument of type
quad_t in setusercontext(). While here, sanitize the clamping of the priority value, and use the correct type for the return value of login_getcapnum(). Reviewed by: kib MFC after: 3 days
Diffstat (limited to 'lib/libutil')
-rw-r--r--lib/libutil/login_class.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/libutil/login_class.c b/lib/libutil/login_class.c
index 39cce12..9ffca8e 100644
--- a/lib/libutil/login_class.c
+++ b/lib/libutil/login_class.c
@@ -424,7 +424,7 @@ setlogincontext(login_cap_t *lc, const struct passwd *pwd,
int
setusercontext(login_cap_t *lc, const struct passwd *pwd, uid_t uid, unsigned int flags)
{
- quad_t p;
+ rlim_t p;
mode_t mymask;
login_cap_t *llc = NULL;
struct sigaction sa, prevsa;
@@ -449,16 +449,16 @@ setusercontext(login_cap_t *lc, const struct passwd *pwd, uid_t uid, unsigned in
if (p > PRIO_MAX) {
rtp.type = RTP_PRIO_IDLE;
- rtp.prio = p - PRIO_MAX - 1;
- p = (rtp.prio > RTP_PRIO_MAX) ? 31 : p;
+ p -= PRIO_MAX + 1;
+ rtp.prio = p > RTP_PRIO_MAX ? RTP_PRIO_MAX : p;
if (rtprio(RTP_SET, 0, &rtp))
syslog(LOG_WARNING, "rtprio '%s' (%s): %m",
pwd ? pwd->pw_name : "-",
lc ? lc->lc_class : LOGIN_DEFCLASS);
} else if (p < PRIO_MIN) {
rtp.type = RTP_PRIO_REALTIME;
- rtp.prio = abs(p - PRIO_MIN + RTP_PRIO_MAX);
- p = (rtp.prio > RTP_PRIO_MAX) ? 1 : p;
+ p -= PRIO_MIN - RTP_PRIO_MAX;
+ rtp.prio = p < RTP_PRIO_MIN ? RTP_PRIO_MIN : p;
if (rtprio(RTP_SET, 0, &rtp))
syslog(LOG_WARNING, "rtprio '%s' (%s): %m",
pwd ? pwd->pw_name : "-",
OpenPOWER on IntegriCloud