From: Donatas Abraitis Date: Wed, 20 Sep 2023 12:24:25 +0000 (+0300) Subject: staticd: Check against NULL before dereferencing vrf X-Git-Tag: base_9.1~56^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F14452%2Fhead;p=mirror%2Ffrr.git staticd: Check against NULL before dereferencing vrf If VRF is not found by the given name, validate it and return an error. Fixes: 76b2bc97e738 ("staticd: Accept full blackhole typed keywords for ip_route_cmd") Signed-off-by: Donatas Abraitis --- diff --git a/staticd/static_nb_config.c b/staticd/static_nb_config.c index 6673cce108..520a3ee2c1 100644 --- a/staticd/static_nb_config.c +++ b/staticd/static_nb_config.c @@ -382,6 +382,13 @@ static int static_nexthop_bh_type_modify(struct nb_cb_modify_args *args) nh_vrf = yang_dnode_get_string(args->dnode, "../vrf"); if (nh_ifname && nh_vrf) { struct vrf *vrf = vrf_lookup_by_name(nh_vrf); + + if (!vrf) { + snprintf(args->errmsg, args->errmsg_len, + "nexthop vrf %s not found", nh_vrf); + return NB_ERR_VALIDATION; + } + struct interface *ifp = if_lookup_by_name(nh_ifname, vrf->vrf_id);