From d568cc172771a1f6399c954d63d0e17655081f6d Mon Sep 17 00:00:00 2001 From: Evengard Date: Sat, 27 Apr 2024 21:57:36 +0300 Subject: [PATCH] Fix another memory access error again because of a missing MAC address in IPv6 headers --- src/Cedar/IPC.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Cedar/IPC.c b/src/Cedar/IPC.c index 6d408069..6cfc8369 100644 --- a/src/Cedar/IPC.c +++ b/src/Cedar/IPC.c @@ -1517,7 +1517,9 @@ void IPCProcessL3EventsEx(IPC *ipc, UINT64 now) // We save the router advertisement data for later use IPCIPv6AddRouterPrefixes(ipc, &p->ICMPv6HeaderPacketInfo.OptionList, src_mac, &ip_src); IPCIPv6AssociateOnNDTEx(ipc, &ip_src, src_mac, true); - IPCIPv6AssociateOnNDTEx(ipc, &ip_src, p->ICMPv6HeaderPacketInfo.OptionList.SourceLinkLayer->Address, true); + if (p->ICMPv6HeaderPacketInfo.OptionList.SourceLinkLayer != NULL) { + IPCIPv6AssociateOnNDTEx(ipc, &ip_src, p->ICMPv6HeaderPacketInfo.OptionList.SourceLinkLayer->Address, true); + } ndtProcessed = true; header_size = sizeof(ICMPV6_ROUTER_ADVERTISEMENT_HEADER); break;