summaryrefslogtreecommitdiffstats
path: root/src/responder/sudo/sudosrv_get_sudorules.c
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2013-01-22 14:31:37 +0100
committerJakub Hrozek <jhrozek@redhat.com>2013-01-22 18:21:39 +0100
commit5ff1c3c5a12930692cb6284d14f7fda3a974af8e (patch)
tree68f7d53b9fb9054bb20a58e052634e6b96a98f4a /src/responder/sudo/sudosrv_get_sudorules.c
parent1d262e93850e2be65a774da070600947f1b75153 (diff)
downloadsssd-5ff1c3c5a12930692cb6284d14f7fda3a974af8e.tar.gz
sssd-5ff1c3c5a12930692cb6284d14f7fda3a974af8e.tar.xz
sssd-5ff1c3c5a12930692cb6284d14f7fda3a974af8e.zip
sudo responder: change num_rules type from size_t to uint32_t
https://fedorahosted.org/sssd/ticket/1779 2^32 should be enough to store sudo rules. size_t type was causing troubles on big endian architectures, because it wasn't used correctly in combination with D-Bus.
Diffstat (limited to 'src/responder/sudo/sudosrv_get_sudorules.c')
-rw-r--r--src/responder/sudo/sudosrv_get_sudorules.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/responder/sudo/sudosrv_get_sudorules.c b/src/responder/sudo/sudosrv_get_sudorules.c
index a8e866661..8d7480bec 100644
--- a/src/responder/sudo/sudosrv_get_sudorules.c
+++ b/src/responder/sudo/sudosrv_get_sudorules.c
@@ -320,7 +320,7 @@ done:
static errno_t sudosrv_get_sudorules_from_cache(TALLOC_CTX *mem_ctx,
struct sudo_cmd_ctx *cmd_ctx,
struct sysdb_attrs ***_rules,
- size_t *_num_rules);
+ uint32_t *_num_rules);
static void
sudosrv_get_sudorules_dp_callback(uint16_t err_maj, uint32_t err_min,
const char *err_msg, void *ptr);
@@ -337,7 +337,7 @@ static errno_t sudosrv_get_sudorules_query_cache(TALLOC_CTX *mem_ctx,
uid_t uid,
char **groupnames,
struct sysdb_attrs ***_rules,
- size_t *_count);
+ uint32_t *_count);
errno_t sudosrv_get_rules(struct sudo_cmd_ctx *cmd_ctx)
{
@@ -347,7 +347,7 @@ errno_t sudosrv_get_rules(struct sudo_cmd_ctx *cmd_ctx)
struct sysdb_ctx *user_sysdb = NULL;
struct sysdb_ctx *rules_sysdb = NULL;
char **groupnames = NULL;
- size_t expired_rules_num = 0;
+ uint32_t expired_rules_num = 0;
struct sysdb_attrs **expired_rules = NULL;
errno_t ret;
unsigned int flags = SYSDB_SUDO_FILTER_NONE;
@@ -565,7 +565,7 @@ sudosrv_get_sudorules_dp_callback(uint16_t err_maj, uint32_t err_min,
static errno_t sudosrv_get_sudorules_from_cache(TALLOC_CTX *mem_ctx,
struct sudo_cmd_ctx *cmd_ctx,
struct sysdb_attrs ***_rules,
- size_t *_num_rules)
+ uint32_t *_num_rules)
{
TALLOC_CTX *tmp_ctx;
errno_t ret;
@@ -575,7 +575,7 @@ static errno_t sudosrv_get_sudorules_from_cache(TALLOC_CTX *mem_ctx,
const char *debug_name = NULL;
unsigned int flags = SYSDB_SUDO_FILTER_NONE;
struct sysdb_attrs **rules = NULL;
- size_t num_rules = 0;
+ uint32_t num_rules = 0;
const char *attrs[] = { SYSDB_OBJECTCLASS,
SYSDB_SUDO_CACHE_AT_CN,
SYSDB_SUDO_CACHE_AT_USER,
@@ -676,7 +676,7 @@ static errno_t sudosrv_get_sudorules_query_cache(TALLOC_CTX *mem_ctx,
uid_t uid,
char **groupnames,
struct sysdb_attrs ***_rules,
- size_t *_count)
+ uint32_t *_count)
{
TALLOC_CTX *tmp_ctx;
char *filter;
@@ -727,7 +727,7 @@ static errno_t sudosrv_get_sudorules_query_cache(TALLOC_CTX *mem_ctx,
}
*_rules = talloc_steal(mem_ctx, rules);
- *_count = count;
+ *_count = (uint32_t)count;
ret = EOK;
done: