From: John Hodge Date: Mon, 21 Mar 2011 08:18:55 +0000 (+0800) Subject: IPStack - Cleanup to ARP code (slight) X-Git-Tag: rel0.10~156 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=0fdadb5d699b1d0a931e26de4ef9296a9c2bf062;p=tpg%2Facess2.git IPStack - Cleanup to ARP code (slight) --- diff --git a/Modules/IPStack/arp.c b/Modules/IPStack/arp.c index 82382635..1e5bb073 100644 --- a/Modules/IPStack/arp.c +++ b/Modules/IPStack/arp.c @@ -81,13 +81,12 @@ tMacAddr ARP_Resolve4(tInterface *Interface, tIPv4 Address) if( IPStack_CompareAddress(4, &Address, Interface->Address, Interface->SubnetBits) == 0 ) { tRoute *route = IPStack_FindRoute(4, Interface, &Address); - if( route ) { - // If the next hop is defined, use it - // - 0.0.0.0 as the next hop means "no next hop / direct" - if( ((tIPv4*)route->NextHop)->L != 0 ) { - // Recursion: see /Recursion/ - return ARP_Resolve4(Interface, *(tIPv4*)route->NextHop); - } + // If the next hop is defined, use it + // - 0.0.0.0 as the next hop means "no next hop / direct" + if( route && ((tIPv4*)route->NextHop)->L != 0 ) + { + // Recursion: see /Recursion/ + return ARP_Resolve4(Interface, *(tIPv4*)route->NextHop); } }