vla.patch 785 B

1234567891011121314151617181920212223
  1. diff --git a/Pcap++/src/PcapLiveDevice.cpp b/Pcap++/src/PcapLiveDevice.cpp
  2. index 7ac0f79e..5faa7c4d 100644
  3. --- a/Pcap++/src/PcapLiveDevice.cpp
  4. +++ b/Pcap++/src/PcapLiveDevice.cpp
  5. @@ -1011,15 +1011,15 @@ namespace pcpp
  6. return;
  7. }
  8. - uint8_t buf[len];
  9. + std::vector<uint8_t> buf(len);
  10. - if (sysctl(mib, 6, buf, &len, nullptr, 0) < 0)
  11. + if (sysctl(mib, 6, buf.data(), &len, nullptr, 0) < 0)
  12. {
  13. PCPP_LOG_DEBUG("Error in retrieving MAC address: sysctl 2 error");
  14. return;
  15. }
  16. - struct if_msghdr* ifm = (struct if_msghdr*)buf;
  17. + struct if_msghdr* ifm = (struct if_msghdr*)buf.data();
  18. struct sockaddr_dl* sdl = (struct sockaddr_dl*)(ifm + 1);
  19. uint8_t* ptr = (uint8_t*)LLADDR(sdl);
  20. m_MacAddress = MacAddress(ptr[0], ptr[1], ptr[2], ptr[3], ptr[4], ptr[5]);