ip: crash in ip4_sas_commonlen
ip4_sas_commonlen may be called with null a2 argument from ip4_neighbor_advertise -> ip4_sas_by_sw_if_index. If a1 or a2 is null, there is no common length, shortest mask between a1 and a2, return 0 instead of crashing. Type: fix Change-Id: I307509ee7dedafac76d8877a1ef76ab8bbafef59 Signed-off-by: Steven Luong <sluong@cisco.com>
This commit is contained in:
@ -54,6 +54,8 @@ ip6_sas_commonlen (const ip6_address_t *a1, const ip6_address_t *a2)
|
|||||||
static int
|
static int
|
||||||
ip4_sas_commonlen (const ip4_address_t *a1, const ip4_address_t *a2)
|
ip4_sas_commonlen (const ip4_address_t *a1, const ip4_address_t *a2)
|
||||||
{
|
{
|
||||||
|
if (!a1 || !a2)
|
||||||
|
return 0;
|
||||||
u64 a =
|
u64 a =
|
||||||
clib_net_to_host_u32 (a1->as_u32) ^ clib_net_to_host_u32 (a2->as_u32);
|
clib_net_to_host_u32 (a1->as_u32) ^ clib_net_to_host_u32 (a2->as_u32);
|
||||||
if (a == 0)
|
if (a == 0)
|
||||||
|
Reference in New Issue
Block a user