From 9f1cece6eecb614fe61bd59645d5303aab131a60 Mon Sep 17 00:00:00 2001 From: Marian Buschsieweke Date: Sat, 6 Nov 2021 20:32:46 +0100 Subject: [PATCH] drivers/encx24j600: fix unaligned memory access --- drivers/encx24j600/encx24j600.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/encx24j600/encx24j600.c b/drivers/encx24j600/encx24j600.c index 3f1f8252e7..ef782a7d49 100644 --- a/drivers/encx24j600/encx24j600.c +++ b/drivers/encx24j600/encx24j600.c @@ -326,7 +326,7 @@ static inline int _packets_available(encx24j600_t *dev) static void _get_mac_addr(netdev_t *encdev, uint8_t* buf) { encx24j600_t * dev = (encx24j600_t *) encdev; - uint16_t *addr = (uint16_t *) buf; + uint16_t addr[3]; lock(dev); @@ -334,6 +334,8 @@ static void _get_mac_addr(netdev_t *encdev, uint8_t* buf) addr[1] = reg_get(dev, ENC_MAADR2); addr[2] = reg_get(dev, ENC_MAADR3); + memcpy(buf, addr, sizeof(addr)); + unlock(dev); }