diff --git a/sys/net/gnrc/network_layer/ipv6/whitelist/gnrc_ipv6_whitelist.c b/sys/net/gnrc/network_layer/ipv6/whitelist/gnrc_ipv6_whitelist.c index d2beae522469b90fcbfa97ce919a868663126137..6cfa72c06a61e3acd7a17cb8e8566cf6a43bc96e 100644 --- a/sys/net/gnrc/network_layer/ipv6/whitelist/gnrc_ipv6_whitelist.c +++ b/sys/net/gnrc/network_layer/ipv6/whitelist/gnrc_ipv6_whitelist.c @@ -13,6 +13,7 @@ * @author Martine Lenders <mlenders@inf.fu-berlin.de> */ +#include <string.h> #include "bitfield.h" #include "net/gnrc/ipv6/whitelist.h" @@ -32,8 +33,7 @@ int gnrc_ipv6_whitelist_add(const ipv6_addr_t *addr) for (int i = 0; i < GNRC_IPV6_WHITELIST_SIZE; i++) { if (!bf_isset(gnrc_ipv6_whitelist_set, i)) { bf_set(gnrc_ipv6_whitelist_set, i); - gnrc_ipv6_whitelist[i].u64[0].u64 = addr->u64[0].u64; - gnrc_ipv6_whitelist[i].u64[1].u64 = addr->u64[1].u64; + memcpy(&gnrc_ipv6_whitelist[i], addr, sizeof(*addr)); DEBUG("IPv6 whitelist: whitelisted %s\n", ipv6_addr_to_str(addr_str, addr, sizeof(addr_str))); return 0;