Browse Source

Fixed a misaligned pointer access

tags/2021-05-28
Tom Poole 7 years ago
parent
commit
11c5845eb1
1 changed files with 4 additions and 2 deletions
  1. +4
    -2
      modules/juce_core/native/juce_mac_Network.mm

+ 4
- 2
modules/juce_core/native/juce_mac_Network.mm View File

@@ -31,9 +31,11 @@ void MACAddress::findAllAddresses (Array<MACAddress>& result)
{ {
for (const ifaddrs* cursor = addrs; cursor != nullptr; cursor = cursor->ifa_next) 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; auto sadd = (const sockaddr_dl*) cursor->ifa_addr;


Loading…
Cancel
Save