[SSSD] [PATCH] Cast uid_t to unsigned long long in DEBUG messages
Jakub Hrozek
jhrozek at redhat.com
Tue Jul 10 13:21:35 UTC 2012
krb5_child was crashing on my 32bit system when debugging was enabled
(and to make it more interesting, only when compiled with -O2). We were
using %llu to print uid_t values, which didn't match with the real size
of uid_t on 32bit systems. This patch adds an explicit cast to unsigned
long long.
-------------- next part --------------
>From d5137cd40f75ea7edac7385a84fe423906d54b89 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhrozek at redhat.com>
Date: Tue, 10 Jul 2012 15:16:16 +0200
Subject: [PATCH] Cast uid_t to unsigned long long in DEBUG messages
---
src/db/sysdb_ops.c | 4 ++--
src/providers/krb5/krb5_child.c | 6 +++---
src/tests/krb5_child-test.c | 3 ++-
src/tests/sysdb-tests.c | 8 ++++----
4 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index 528b84f1ae7fd9d075a6364e878fa1a644c2cae6..6c1fc49b46728809048d3cba8d03d4635af0ebc0 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -1559,7 +1559,7 @@ int sysdb_store_user(struct sysdb_ctx *sysdb,
}
DEBUG(SSSDBG_MINOR_FAILURE,
("A user with the same UID [%llu] was removed from the "
- "cache\n", uid));
+ "cache\n", (unsigned long long) uid));
ret = sysdb_add_user(sysdb, name, uid, gid, gecos,
homedir, shell, attrs, cache_timeout, now);
}
@@ -1706,7 +1706,7 @@ int sysdb_store_group(struct sysdb_ctx *sysdb,
}
DEBUG(SSSDBG_MINOR_FAILURE,
("A group with the same GID [%llu] was removed from the "
- "cache\n", gid));
+ "cache\n", (unsigned long long) gid));
ret = sysdb_add_group(sysdb, name, gid, attrs, cache_timeout, now);
}
goto done;
diff --git a/src/providers/krb5/krb5_child.c b/src/providers/krb5/krb5_child.c
index 8cf6255583ba95c1c35c10d121a32a96606cf2ef..817a3d01ee1e4247e66db4eac512e151f506c077 100644
--- a/src/providers/krb5/krb5_child.c
+++ b/src/providers/krb5/krb5_child.c
@@ -1345,9 +1345,9 @@ static errno_t unpack_buffer(uint8_t *buf, size_t size, struct pam_data *pd,
DEBUG(SSSDBG_CONF_SETTINGS,
("cmd [%d] uid [%llu] gid [%llu] validate [%s] offline [%s] "
- "UPN [%s]\n", pd->cmd, kr->uid, kr->gid,
- kr->validate ? "true" : "false", *offline ? "true" : "false",
- kr->upn ? kr->upn : "none"));
+ "UPN [%s]\n", pd->cmd, (unsigned long long) kr->uid,
+ (unsigned long long) kr->gid, kr->validate ? "true" : "false",
+ *offline ? "true" : "false", kr->upn ? kr->upn : "none"));
if (pd->cmd == SSS_PAM_AUTHENTICATE ||
pd->cmd == SSS_CMD_RENEW ||
diff --git a/src/tests/krb5_child-test.c b/src/tests/krb5_child-test.c
index 5314b1277a4c68227e5d0fcc53de0ef2d1b43d74..ff3e95a72a3c5f7be061f9dbd8b746ce2538c36c 100644
--- a/src/tests/krb5_child-test.c
+++ b/src/tests/krb5_child-test.c
@@ -249,7 +249,8 @@ create_dummy_req(TALLOC_CTX *mem_ctx, const char *user,
if (!kr->ccname) goto fail;
DEBUG(SSSDBG_FUNC_DATA, ("ccname [%s] uid [%llu] gid [%llu]\n",
- kr->ccname, kr->uid, kr->gid));
+ kr->ccname, (unsigned long long) kr->uid,
+ (unsigned long long) kr->gid));
} else {
kr->ccname = talloc_strdup(kr, ccname);
}
diff --git a/src/tests/sysdb-tests.c b/src/tests/sysdb-tests.c
index 16b7234a1f5ba0cb2b4bf4418d1fd4998d6f8c3c..24e619f927c170bdd98645c2fafa194e542fd21d 100644
--- a/src/tests/sysdb-tests.c
+++ b/src/tests/sysdb-tests.c
@@ -2197,7 +2197,7 @@ START_TEST(test_group_rename)
gid = ldb_msg_find_attr_as_uint(res->msgs[0], SYSDB_GIDNUM, 0);
fail_unless(gid == grgid,
"Did not find the expected GID (found %llu expected %llu)",
- gid, grgid);
+ (unsigned long long) gid, (unsigned long long) grgid);
name = ldb_msg_find_attr_as_string(res->msgs[0], SYSDB_NAME, NULL);
fail_unless(strcmp(fromname, name) == 0,
"Did not find the expected name (found %s expected %s)",
@@ -2220,7 +2220,7 @@ START_TEST(test_group_rename)
gid = ldb_msg_find_attr_as_uint(res->msgs[0], SYSDB_GIDNUM, 0);
fail_unless(gid == grgid,
"Did not find the expected GID (found %llu expected %llu)",
- gid, grgid);
+ (unsigned long long) gid, (unsigned long long) grgid);
name = ldb_msg_find_attr_as_string(res->msgs[0], SYSDB_NAME, NULL);
fail_unless(strcmp(toname, name) == 0,
"Did not find the expected GID (found %s expected %s)",
@@ -2266,7 +2266,7 @@ START_TEST(test_user_rename)
uid = ldb_msg_find_attr_as_uint(res->msgs[0], SYSDB_UIDNUM, 0);
fail_unless(uid == userid,
"Did not find the expected UID (found %llu expected %llu)",
- uid, userid);
+ (unsigned long long) uid, (unsigned long long) userid);
name = ldb_msg_find_attr_as_string(res->msgs[0], SYSDB_NAME, NULL);
fail_unless(strcmp(fromname, name) == 0,
"Did not find the expected name (found %s expected %s)",
@@ -2291,7 +2291,7 @@ START_TEST(test_user_rename)
uid = ldb_msg_find_attr_as_uint(res->msgs[0], SYSDB_UIDNUM, 0);
fail_unless(uid == userid,
"Did not find the expected UID (found %llu expected %llu)",
- uid, userid);
+ (unsigned long long) uid, (unsigned long long) userid);
name = ldb_msg_find_attr_as_string(res->msgs[0], SYSDB_NAME, NULL);
fail_unless(strcmp(toname, name) == 0,
"Did not find the expected name (found %s expected %s)",
--
1.7.10.4
More information about the sssd-devel
mailing list