From: Sami Kerola Date: Sat, 27 Jul 2019 17:55:01 +0000 (+0100) Subject: lscpu: prefer memcpy() to manual pointer arithmetic X-Git-Tag: v2.35-rc1~295^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b5f376d11d9f9e25be32920705bd5ee54684ca36;p=thirdparty%2Futil-linux.git lscpu: prefer memcpy() to manual pointer arithmetic With pointer arithmetic clang address sanitizer gives following error this change addresses. Notice the following happens only when running as root. sys-utils/lscpu-dmi.c:83:14: runtime error: load of misaligned address 0x55a1d62f3d1d for type 'const uint16_t' (aka 'const unsigned short'), which requires 2 byte alignment Signed-off-by: Sami Kerola --- diff --git a/sys-utils/lscpu-dmi.c b/sys-utils/lscpu-dmi.c index 29bd2e4fc9..82d8ed4430 100644 --- a/sys-utils/lscpu-dmi.c +++ b/sys-utils/lscpu-dmi.c @@ -80,7 +80,7 @@ static void to_dmi_header(struct dmi_header *h, uint8_t *data) { h->type = data[0]; h->length = data[1]; - h->handle = WORD(data + 2); + memcpy(&h->handle, data + 2, sizeof(h->handle)); h->data = data; }