[SSSD] [PATCH] Use explicit base 10 for converting strings to integers (1.5 backport)

Jakub Hrozek jhrozek at redhat.com
Mon Oct 3 11:06:42 UTC 2011


https://fedorahosted.org/sssd/ticket/1013
-------------- next part --------------
From d43ba79a4072aaa6aa01b7619a0e3e25c2aaee9f Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhrozek at redhat.com>
Date: Thu, 29 Sep 2011 20:25:04 +0200
Subject: [PATCH] Use explicit base 10 for converting strings to integers

https://fedorahosted.org/sssd/ticket/1013
---
 src/db/sysdb.c                  |    2 +-
 src/db/sysdb_ops.c              |    2 +-
 src/providers/ldap/ldap_id.c    |    4 ++--
 src/providers/proxy/proxy_id.c  |    4 ++--
 src/responder/common/negcache.c |    4 ++--
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/db/sysdb.c b/src/db/sysdb.c
index bca6db4..8f3e8d8 100644
--- a/src/db/sysdb.c
+++ b/src/db/sysdb.c
@@ -364,7 +364,7 @@ int sysdb_attrs_get_uint32_t(struct sysdb_attrs *attrs, const char *name,
     }
 
     errno = 0;
-    val = strtouint32((const char *) el->values[0].data, &endptr, 0);
+    val = strtouint32((const char *) el->values[0].data, &endptr, 10);
     if (errno != 0) return errno;
     if (*endptr) return EINVAL;
 
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index 08437f6..52e6341 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -60,7 +60,7 @@ static uint32_t get_attr_as_uint32(struct ldb_message *msg, const char *attr)
     }
 
     errno = 0;
-    l = strtoll((const char *)v->data, NULL, 0);
+    l = strtoll((const char *)v->data, NULL, 10);
     if (errno) {
         return (uint32_t)-1;
     }
diff --git a/src/providers/ldap/ldap_id.c b/src/providers/ldap/ldap_id.c
index c6a11f4..709f2ca 100644
--- a/src/providers/ldap/ldap_id.c
+++ b/src/providers/ldap/ldap_id.c
@@ -226,7 +226,7 @@ static void users_get_done(struct tevent_req *subreq)
             break;
 
         case BE_FILTER_IDNUM:
-            uid = (uid_t) strtouint32(state->name, &endptr, 0);
+            uid = (uid_t) strtouint32(state->name, &endptr, 10);
             if (errno || *endptr || (state->name == endptr)) {
                 tevent_req_error(req, errno ? errno : EINVAL);
                 return;
@@ -462,7 +462,7 @@ static void groups_get_done(struct tevent_req *subreq)
             break;
 
         case BE_FILTER_IDNUM:
-            gid = (gid_t) strtouint32(state->name, &endptr, 0);
+            gid = (gid_t) strtouint32(state->name, &endptr, 10);
             if (errno || *endptr || (state->name == endptr)) {
                 tevent_req_error(req, errno ? errno : EINVAL);
                 return;
diff --git a/src/providers/proxy/proxy_id.c b/src/providers/proxy/proxy_id.c
index 3df2106..e68d7f7 100644
--- a/src/providers/proxy/proxy_id.c
+++ b/src/providers/proxy/proxy_id.c
@@ -1078,7 +1078,7 @@ void proxy_get_account_info(struct be_req *breq)
             break;
 
         case BE_FILTER_IDNUM:
-            uid = (uid_t) strtouint32(ar->filter_value, &endptr, 0);
+            uid = (uid_t) strtouint32(ar->filter_value, &endptr, 10);
             if (errno || *endptr || (ar->filter_value == endptr)) {
                 return proxy_reply(breq, DP_ERR_FATAL,
                                    EINVAL, "Invalid attr type");
@@ -1100,7 +1100,7 @@ void proxy_get_account_info(struct be_req *breq)
             ret = get_gr_name(breq, ctx, sysdb, domain, ar->filter_value);
             break;
         case BE_FILTER_IDNUM:
-            gid = (gid_t) strtouint32(ar->filter_value, &endptr, 0);
+            gid = (gid_t) strtouint32(ar->filter_value, &endptr, 10);
             if (errno || *endptr || (ar->filter_value == endptr)) {
                 return proxy_reply(breq, DP_ERR_FATAL,
                                    EINVAL, "Invalid attr type");
diff --git a/src/responder/common/negcache.c b/src/responder/common/negcache.c
index d8c4c26..3926574 100644
--- a/src/responder/common/negcache.c
+++ b/src/responder/common/negcache.c
@@ -90,7 +90,7 @@ static int sss_ncache_check_str(struct sss_nc_ctx *ctx, char *str, int ttl)
     }
 
     errno = 0;
-    timestamp = strtoull((const char *)data.dptr, &ep, 0);
+    timestamp = strtoull((const char *)data.dptr, &ep, 10);
     if (errno != 0 || *ep != '\0') {
         /* Malformed entry, remove it and return no entry */
         expired = true;
@@ -330,7 +330,7 @@ static int delete_permanent(struct tdb_context *tdb,
     }
 
     errno = 0;
-    timestamp = strtoull((const char *)data.dptr, &ep, 0);
+    timestamp = strtoull((const char *)data.dptr, &ep, 10);
     if (errno != 0 || *ep != '\0') {
         /* Malformed entry, remove it */
         remove_key = true;
-- 
1.7.6.4



More information about the sssd-devel mailing list