From: Kurt Roeckx Date: Sun, 25 Aug 2013 21:15:13 +0000 (+0200) Subject: gelf_getauxv: Use memcpy, not pointer deref, to avoid alignment problems. X-Git-Tag: elfutils-0.157~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=617f8ea89888de7046098f4f1d84a1e8c6498c9f;p=thirdparty%2Felfutils.git gelf_getauxv: Use memcpy, not pointer deref, to avoid alignment problems. Signed-off-by: Kurt Roeckx Signed-off-by: Mark Wielaard --- diff --git a/libelf/ChangeLog b/libelf/ChangeLog index 674a720cd..46d4731c3 100644 --- a/libelf/ChangeLog +++ b/libelf/ChangeLog @@ -1,3 +1,8 @@ +2013-08-25 Kurt Roeckx + + * gelf_getauxv.c (gelf_getauxv): Use memcpy instead of pointer + dereference to avoid alignment problems. + 2013-01-07 Roland McGrath * elf_getarsym.c (elf_getarsym): Copy FILE_DATA into stack space if it diff --git a/libelf/gelf_getauxv.c b/libelf/gelf_getauxv.c index d87362ef1..2a5b6f06b 100644 --- a/libelf/gelf_getauxv.c +++ b/libelf/gelf_getauxv.c @@ -97,7 +97,8 @@ gelf_getauxv (data, ndx, dst) goto out; } - *dst = ((GElf_auxv_t *) data_scn->d.d_buf)[ndx]; + memcpy(dst, (char *) data_scn->d.d_buf + ndx * sizeof (GElf_auxv_t), + sizeof (GElf_auxv_t)); } result = dst;