diff --git a/src/lr-wpan/model/lr-wpan-mac.cc b/src/lr-wpan/model/lr-wpan-mac.cc index 88d4feb37..930bfe884 100644 --- a/src/lr-wpan/model/lr-wpan-mac.cc +++ b/src/lr-wpan/model/lr-wpan-mac.cc @@ -1008,9 +1008,17 @@ LrWpanMac::SendOneBeacon() m_macBsn++; - // Extract the octets from m_macBeaconPayload and place them in a packet - uint8_t* octets = &m_macBeaconPayload[0]; - Ptr beaconPacket = Create(octets, m_macBeaconPayload.size()); + Ptr beaconPacket; + if (m_macBeaconPayload.empty()) + { + beaconPacket = Create(); + } + else + { + // Extract the octets from m_macBeaconPayload and place them in a packet + uint8_t* octets = &m_macBeaconPayload[0]; + beaconPacket = Create(octets, m_macBeaconPayload.size()); + } LrWpanMacHeader macHdr(LrWpanMacHeader::LRWPAN_MAC_BEACON, m_macBsn.GetValue()); macHdr.SetDstAddrMode(LrWpanMacHeader::SHORTADDR);