From 27c67307976a60088ca301e07404bdb52740c3af Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Fri, 15 Oct 2010 15:57:10 +0200 Subject: Use unsigned long for conversion to id_t We used strtol() on a number of places to convert into uid_t or gid_t from a string representation such as LDAP attribute, but on some platforms, unsigned long might be necessary to store big id_t values. This patch converts to using strtoul() instead. --- src/providers/ldap/ldap_id.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/providers/ldap/ldap_id.c') diff --git a/src/providers/ldap/ldap_id.c b/src/providers/ldap/ldap_id.c index be4642aa..135e3708 100644 --- a/src/providers/ldap/ldap_id.c +++ b/src/providers/ldap/ldap_id.c @@ -220,7 +220,7 @@ static void users_get_done(struct tevent_req *subreq) case BE_FILTER_IDNUM: errno = 0; - uid = (uid_t)strtol(state->name, &endptr, 0); + uid = (uid_t) strtoul(state->name, &endptr, 0); if (errno || *endptr || (state->name == endptr)) { tevent_req_error(req, errno); return; @@ -446,7 +446,7 @@ static void groups_get_done(struct tevent_req *subreq) case BE_FILTER_IDNUM: errno = 0; - gid = (gid_t)strtol(state->name, &endptr, 0); + gid = (gid_t) strtoul(state->name, &endptr, 0); if (errno || *endptr || (state->name == endptr)) { tevent_req_error(req, errno); return; -- cgit