From 694099b9af96d53ad4a4f9bc70e08c2f393f9f4e Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 26 Feb 1999 16:59:48 +0000 Subject: See ChangeLog: Fri Feb 26 17:55:41 CET 1999 Werner Koch --- util/ChangeLog | 4 ++++ util/secmem.c | 9 ++++----- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'util') diff --git a/util/ChangeLog b/util/ChangeLog index e410ce5fc..c11327ddd 100644 --- a/util/ChangeLog +++ b/util/ChangeLog @@ -1,3 +1,7 @@ +Fri Feb 26 17:55:41 CET 1999 Werner Koch + + * secmem.c (memblock_struct): Force align (Rémi Guyomarch) + Wed Feb 24 11:07:27 CET 1999 Werner Koch * iobuf.c (block_filter): Fixed the oscillating partial packet chunks. diff --git a/util/secmem.c b/util/secmem.c index aa6d822c7..3db66c062 100644 --- a/util/secmem.c +++ b/util/secmem.c @@ -47,8 +47,7 @@ struct memblock_struct { unsigned size; union { MEMBLOCK *next; - long align_dummy; - char d[1]; + PROPERLY_ALIGNED_TYPE aligned; } u; }; @@ -291,7 +290,7 @@ secmem_malloc( size_t size ) max_alloced = cur_alloced; if( cur_blocks > max_blocks ) max_blocks = cur_blocks; - return &mb->u.d; + return &mb->u.aligned.c; } @@ -302,7 +301,7 @@ secmem_realloc( void *p, size_t newsize ) size_t size; void *a; - mb = (MEMBLOCK*)((char*)p - ((size_t) &((MEMBLOCK*)0)->u.d)); + mb = (MEMBLOCK*)((char*)p - ((size_t) &((MEMBLOCK*)0)->u.aligned.c)); size = mb->size; if( newsize < size ) return p; /* it is easier not to shrink the memory */ @@ -323,7 +322,7 @@ secmem_free( void *a ) if( !a ) return; - mb = (MEMBLOCK*)((char*)a - ((size_t) &((MEMBLOCK*)0)->u.d)); + mb = (MEMBLOCK*)((char*)a - ((size_t) &((MEMBLOCK*)0)->u.aligned.c)); size = mb->size; memset(mb, 0xff, size ); memset(mb, 0xaa, size ); -- cgit v1.2.3