Skip to content

Commit 9f6937c

Browse files
committed
NetworkTools: Fix crash when selecting null network items (regression)
1 parent 5052c1e commit 9f6937c

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

plugins/NetworkTools/main.c

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -325,36 +325,38 @@ VOID NTAPI NetworkMenuInitializingCallback(
325325
PhInsertEMenuItem(menuInfo->Menu, traceMenu = PhPluginCreateEMenuItem(PluginInstance, 0, NETWORK_ACTION_TRACEROUTE, L"Traceroute", networkItem), 0);
326326
PhInsertEMenuItem(menuInfo->Menu, pingMenu = PhPluginCreateEMenuItem(PluginInstance, 0, NETWORK_ACTION_PING, L"Ping", networkItem), 0);
327327

328-
if (!networkItem)
328+
if (networkItem)
329329
{
330-
whoisMenu->Flags |= PH_EMENU_DISABLED;
331-
traceMenu->Flags |= PH_EMENU_DISABLED;
332-
pingMenu->Flags |= PH_EMENU_DISABLED;
333-
}
334-
else if (PhIsNullIpAddress(&networkItem->RemoteEndpoint.Address))
335-
{
336-
whoisMenu->Flags |= PH_EMENU_DISABLED;
337-
traceMenu->Flags |= PH_EMENU_DISABLED;
338-
pingMenu->Flags |= PH_EMENU_DISABLED;
339-
}
340-
341-
if (networkItem->RemoteEndpoint.Address.Type == PH_IPV4_NETWORK_TYPE)
342-
{
343-
if (IN4_IS_ADDR_LOOPBACK(&networkItem->RemoteEndpoint.Address.InAddr))
330+
if (PhIsNullIpAddress(&networkItem->RemoteEndpoint.Address))
344331
{
345332
whoisMenu->Flags |= PH_EMENU_DISABLED;
346333
traceMenu->Flags |= PH_EMENU_DISABLED;
347334
pingMenu->Flags |= PH_EMENU_DISABLED;
348335
}
336+
else if (networkItem->RemoteEndpoint.Address.Type == PH_IPV4_NETWORK_TYPE)
337+
{
338+
if (IN4_IS_ADDR_LOOPBACK(&networkItem->RemoteEndpoint.Address.InAddr))
339+
{
340+
whoisMenu->Flags |= PH_EMENU_DISABLED;
341+
traceMenu->Flags |= PH_EMENU_DISABLED;
342+
pingMenu->Flags |= PH_EMENU_DISABLED;
343+
}
344+
}
345+
else
346+
{
347+
if (IN6_IS_ADDR_LOOPBACK(&networkItem->RemoteEndpoint.Address.In6Addr))
348+
{
349+
whoisMenu->Flags |= PH_EMENU_DISABLED;
350+
traceMenu->Flags |= PH_EMENU_DISABLED;
351+
pingMenu->Flags |= PH_EMENU_DISABLED;
352+
}
353+
}
349354
}
350355
else
351356
{
352-
if (IN6_IS_ADDR_LOOPBACK(&networkItem->RemoteEndpoint.Address.In6Addr))
353-
{
354-
whoisMenu->Flags |= PH_EMENU_DISABLED;
355-
traceMenu->Flags |= PH_EMENU_DISABLED;
356-
pingMenu->Flags |= PH_EMENU_DISABLED;
357-
}
357+
whoisMenu->Flags |= PH_EMENU_DISABLED;
358+
traceMenu->Flags |= PH_EMENU_DISABLED;
359+
pingMenu->Flags |= PH_EMENU_DISABLED;
358360
}
359361
}
360362

0 commit comments

Comments
 (0)