From 874af85d5eb08b65476f406f6a1e7edc127ac210 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 8 Mar 2006 07:03:27 +0000 Subject: import most of e2fsprogs 1.38 updates --- e2fsprogs/ext2fs/ext2fs_inline.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'e2fsprogs/ext2fs/ext2fs_inline.c') diff --git a/e2fsprogs/ext2fs/ext2fs_inline.c b/e2fsprogs/ext2fs/ext2fs_inline.c index 73d393d20..a363b1992 100644 --- a/e2fsprogs/ext2fs/ext2fs_inline.c +++ b/e2fsprogs/ext2fs/ext2fs_inline.c @@ -44,12 +44,14 @@ errcode_t ext2fs_resize_mem(unsigned long EXT2FS_ATTR((unused)) old_size, unsigned long size, void *ptr) { void *p; - void **pp = (void **)ptr; - p = realloc(*pp, size); + /* Use "memcpy" for pointer assignments here to avoid problems + * with C99 strict type aliasing rules. */ + memcpy(&p, ptr, sizeof (p)); + p = realloc(p, size); if (!p) return EXT2_ET_NO_MEMORY; - *pp = p; + memcpy(ptr, &p, sizeof (p)); return 0; } -- cgit v1.2.3