summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/ldap_id.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2010-10-25 15:14:24 +0200
committerStephen Gallagher <sgallagh@redhat.com>2010-10-26 08:00:21 -0400
commit580374daba2ab2c6075a7d0de9512abff133e2e9 (patch)
treedfd9abe14efa5f6c79291ef72b1d2ac0b8326334 /src/providers/ldap/ldap_id.c
parent13147b598a8409c338abb9472e74bbd606f224bd (diff)
downloadsssd-580374daba2ab2c6075a7d0de9512abff133e2e9.tar.gz
sssd-580374daba2ab2c6075a7d0de9512abff133e2e9.tar.xz
sssd-580374daba2ab2c6075a7d0de9512abff133e2e9.zip
Always use uint32_t for UID/GID numbers
Diffstat (limited to 'src/providers/ldap/ldap_id.c')
-rw-r--r--src/providers/ldap/ldap_id.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/providers/ldap/ldap_id.c b/src/providers/ldap/ldap_id.c
index 135e37084..91b6c8add 100644
--- a/src/providers/ldap/ldap_id.c
+++ b/src/providers/ldap/ldap_id.c
@@ -27,6 +27,7 @@
#include <sys/time.h>
#include "util/util.h"
+#include "util/strtonum.h"
#include "db/sysdb.h"
#include "providers/ldap/ldap_common.h"
#include "providers/ldap/sdap_async.h"
@@ -219,10 +220,9 @@ static void users_get_done(struct tevent_req *subreq)
break;
case BE_FILTER_IDNUM:
- errno = 0;
- uid = (uid_t) strtoul(state->name, &endptr, 0);
+ uid = (uid_t) strtouint32(state->name, &endptr, 0);
if (errno || *endptr || (state->name == endptr)) {
- tevent_req_error(req, errno);
+ tevent_req_error(req, errno ? errno : EINVAL);
return;
}
@@ -445,10 +445,9 @@ static void groups_get_done(struct tevent_req *subreq)
break;
case BE_FILTER_IDNUM:
- errno = 0;
- gid = (gid_t) strtoul(state->name, &endptr, 0);
+ gid = (gid_t) strtouint32(state->name, &endptr, 0);
if (errno || *endptr || (state->name == endptr)) {
- tevent_req_error(req, errno);
+ tevent_req_error(req, errno ? errno : EINVAL);
return;
}