From b47b7b3afbe6aa4e619ac7bdbf3b72286cf3bcd2 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 30 Jan 2012 23:17:28 +0100 Subject: [PATCH] libmount: fix negative returns [coverity scan] Signed-off-by: Karel Zak --- libmount/src/utils.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libmount/src/utils.c b/libmount/src/utils.c index c4f5f9910f..0bd7c361b5 100644 --- a/libmount/src/utils.c +++ b/libmount/src/utils.c @@ -498,13 +498,14 @@ int mnt_get_uid(const char *username, uid_t *uid) int rc = -1; struct passwd pwd; struct passwd *pw; - size_t sz = sysconf(_SC_GETPW_R_SIZE_MAX); + size_t sz; + long xsz = sysconf(_SC_GETPW_R_SIZE_MAX); char *buf; if (!username || !uid) return -EINVAL; - if (sz <= 0) - sz = 16384; /* Should be more than enough */ + + sz = xsz <= 0 ? 16384 : (size_t) xsz; buf = malloc(sz); if (!buf) @@ -527,13 +528,14 @@ int mnt_get_gid(const char *groupname, gid_t *gid) int rc = -1; struct group grp; struct group *gr; - size_t sz = sysconf(_SC_GETGR_R_SIZE_MAX); + size_t sz; + long xsz = sysconf(_SC_GETGR_R_SIZE_MAX); char *buf; if (!groupname || !gid) return -EINVAL; - if (sz <= 0) - sz = 16384; /* Should be more than enough */ + + sz = xsz <= 0 ? 16384 : (size_t) xsz; buf = malloc(sz); if (!buf) -- 2.47.3