From 684405758a96bd9fb47480d44f2e1a2f038f8def Mon Sep 17 00:00:00 2001 From: Michal Zidek Date: Mon, 30 Jun 2014 15:52:43 +0200 Subject: Suppress safealign warnings with DISCARD_ALIGN. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These warnings were all false positives. fixes: https://fedorahosted.org/sssd/ticket/1359 Reviewed-by: Lukáš Slebodník --- src/util/refcount.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/util') diff --git a/src/util/refcount.c b/src/util/refcount.c index 735170d1..69873d3d 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); -- cgit