diff options
author | Michal Zidek <mzidek@redhat.com> | 2014-06-30 15:52:43 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-07-01 11:35:24 +0200 |
commit | 684405758a96bd9fb47480d44f2e1a2f038f8def (patch) | |
tree | 28ae2d800d29dd6e2c0aefc2ce71352f663ddd3e | |
parent | 90ac46f71068d131391492360a8553bdd005b5a7 (diff) | |
download | sssd-684405758a96bd9fb47480d44f2e1a2f038f8def.tar.gz sssd-684405758a96bd9fb47480d44f2e1a2f038f8def.tar.xz sssd-684405758a96bd9fb47480d44f2e1a2f038f8def.zip |
Suppress safealign warnings with DISCARD_ALIGN.
These warnings were all false positives.
fixes: https://fedorahosted.org/sssd/ticket/1359
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-rw-r--r-- | src/sss_client/nss_group.c | 2 | ||||
-rw-r--r-- | src/sss_client/nss_services.c | 2 | ||||
-rw-r--r-- | src/util/refcount.c | 8 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/sss_client/nss_group.c b/src/sss_client/nss_group.c index 9e259318d..1614c33b5 100644 --- a/src/sss_client/nss_group.c +++ b/src/sss_client/nss_group.c @@ -237,7 +237,7 @@ static int sss_nss_getgr_readrep(struct sss_nss_gr_rep *pr, pad = PADDING_SIZE(i, char *); /* now members */ - pr->result->gr_mem = (char **)&(pr->buffer[i+pad]); + pr->result->gr_mem = DISCARD_ALIGN(&(pr->buffer[i+pad]), char **); ptmem = (sizeof(char *) * (mem_num + 1)) + pad; if (ptmem > dlen) { diff --git a/src/sss_client/nss_services.c b/src/sss_client/nss_services.c index e89e0d2f1..64e0b43e1 100644 --- a/src/sss_client/nss_services.c +++ b/src/sss_client/nss_services.c @@ -131,7 +131,7 @@ sss_nss_getsvc_readrep(struct sss_nss_svc_rep *sr, pad = PADDING_SIZE(i, char *); /* Copy in the aliases */ - sr->result->s_aliases = (char **) &(sr->buffer[i+pad]); + sr->result->s_aliases = DISCARD_ALIGN(&(sr->buffer[i+pad]), char **); ptaliases = (sizeof(char *) * (num_aliases + 1)) + pad; if (ptaliases > dlen) { diff --git a/src/util/refcount.c b/src/util/refcount.c index 735170d1b..69873d3df 100644 --- a/src/util/refcount.c +++ b/src/util/refcount.c @@ -48,6 +48,7 @@ _rc_alloc(const void *context, size_t size, size_t refcount_offset, const char *type_name) { struct wrapper *wrapper; + char *refcount_pos; wrapper = talloc(context, struct wrapper); if (wrapper == NULL) { @@ -60,7 +61,8 @@ _rc_alloc(const void *context, size_t size, size_t refcount_offset, return NULL; }; - wrapper->refcount = (int *)((char *)wrapper->ptr + refcount_offset); + refcount_pos = (char *)wrapper->ptr + refcount_offset; + wrapper->refcount = DISCARD_ALIGN(refcount_pos, int *); *wrapper->refcount = 1; talloc_set_destructor(wrapper, refcount_destructor); @@ -72,6 +74,7 @@ void * _rc_reference(const void *context, size_t refcount_offset, void *source) { struct wrapper *wrapper; + char *refcount_pos; wrapper = talloc(context, struct wrapper); if (wrapper == NULL) { @@ -79,7 +82,8 @@ _rc_reference(const void *context, size_t refcount_offset, void *source) } wrapper->ptr = source; - wrapper->refcount = (int *)((char *)wrapper->ptr + refcount_offset); + refcount_pos = (char *)wrapper->ptr + refcount_offset; + wrapper->refcount = DISCARD_ALIGN(refcount_pos, int *); (*wrapper->refcount)++; talloc_set_destructor(wrapper, refcount_destructor); |