From: Donatas Abraitis Date: Sat, 8 Jul 2023 08:26:03 +0000 (+0300) Subject: zebra: Guard printing an error by checking if VRF is not NULL X-Git-Tag: base_9.1~261^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F13958%2Fhead;p=mirror%2Ffrr.git zebra: Guard printing an error by checking if VRF is not NULL Check if vrf_lookup_by_id() didn't return a NULL before dereferencing in flor_err(). Signed-off-by: Donatas Abraitis --- diff --git a/zebra/interface.c b/zebra/interface.c index cf36594b34..4c9f9f3092 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -1531,10 +1531,16 @@ static void interface_vrf_change(enum dplane_op_e op, ifindex_t ifindex, if (exist_id != VRF_DEFAULT) { vrf = vrf_lookup_by_id(exist_id); - flog_err( - EC_ZEBRA_VRF_MISCONFIGURED, - "VRF %s id %u table id overlaps existing vrf %s(%d), misconfiguration exiting", - name, ifindex, vrf->name, vrf->vrf_id); + if (vrf) + flog_err(EC_ZEBRA_VRF_MISCONFIGURED, + "VRF %s id %u table id overlaps existing vrf %s(%d), misconfiguration exiting", + name, ifindex, vrf->name, + vrf->vrf_id); + else + flog_err(EC_ZEBRA_VRF_NOT_FOUND, + "VRF %s id %u does not exist", + name, ifindex); + exit(-1); } }