diff --git a/modules/juce_core/native/juce_mac_Network.mm b/modules/juce_core/native/juce_mac_Network.mm index 9804873df5..d5c6b247ab 100644 --- a/modules/juce_core/native/juce_mac_Network.mm +++ b/modules/juce_core/native/juce_mac_Network.mm @@ -31,9 +31,11 @@ void MACAddress::findAllAddresses (Array& result) { for (const ifaddrs* cursor = addrs; cursor != nullptr; cursor = cursor->ifa_next) { - auto sto = (sockaddr_storage*) cursor->ifa_addr; + // Required to avoid misaligned pointer access + sockaddr_storage sto; + std::memcpy (&sto, cursor->ifa_addr, sizeof (sockaddr_storage)); - if (sto->ss_family == AF_LINK) + if (sto.ss_family == AF_LINK) { auto sadd = (const sockaddr_dl*) cursor->ifa_addr;