aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Smith <mgsmith@netgate.com>2020-09-10 10:09:01 -0500
committerDamjan Marion <dmarion@me.com>2020-09-11 06:46:11 +0000
commit78681def21b931309a779dfc6a5cbc6ff8b1f814 (patch)
treebd4f723cadfa6ae66cebc72b1268aa0d0b2d1779
parent730cec8c0697627cc1fb6a34acd094c77ba07622 (diff)
l2: fix null deref in l2_to_bvi()
Type: fix Static analysis identified a possible null pointer dereference. It was introduced by a recent patch which expanded the DMAC comparison on inbound packets on a BVI interface to include any secondary MAC addresses which were added to an interface. Check if the pointer is null before dereferencing. Change-Id: Ic2afe2b062eda32977e05bf3f98d82c1fe64620c Signed-off-by: Matthew Smith <mgsmith@netgate.com>
-rw-r--r--src/vnet/l2/l2_bvi.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vnet/l2/l2_bvi.h b/src/vnet/l2/l2_bvi.h
index 300ea81bbf0..697e25bf3de 100644
--- a/src/vnet/l2/l2_bvi.h
+++ b/src/vnet/l2/l2_bvi.h
@@ -72,7 +72,7 @@ l2_to_bvi (vlib_main_t * vlib_main,
ethernet_interface_t *ei = ethernet_get_interface (em, hi->hw_if_index);
u32 rv;
- if (PREDICT_FALSE (vec_len (ei->secondary_addrs) > 0))
+ if (PREDICT_FALSE (ei && (vec_len (ei->secondary_addrs) > 0)))
rv = l2_to_bvi_dmac_check (hi, e0->dst_address, ei,
1 /* have_sec_dmac */ );
else