]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: fix vrf route-leaking crash around srv6
authorHiroki Shirokura <slank.dev@gmail.com>
Wed, 30 Dec 2020 01:19:20 +0000 (01:19 +0000)
committerMark Stapp <mjs@voltanet.io>
Wed, 2 Jun 2021 14:24:48 +0000 (10:24 -0400)
Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
bgpd/bgp_mplsvpn.c

index 33266ef511b37c658936bf22aa83698cea9bfb98..332504db84e924313bd8dd0ec89130de385957d8 100644 (file)
@@ -1150,9 +1150,9 @@ void vpn_leak_from_vrf_update(struct bgp *bgp_vpn,            /* to */
        static_attr.originator_id = bgp_vpn->router_id;
 
        /* Set SID for SRv6 VPN */
-       if (!sid_zero(bgp_vrf->vpn_policy[afi].tovpn_sid)) {
+       if (bgp_vrf->vpn_policy[afi].tovpn_sid) {
                static_attr.srv6_l3vpn = XCALLOC(MTYPE_BGP_SRV6_L3VPN,
-                               sizeof(struct bgp_attr_srv6_l3vpn) * 100);
+                               sizeof(struct bgp_attr_srv6_l3vpn));
                static_attr.srv6_l3vpn->sid_flags = 0x00;
                static_attr.srv6_l3vpn->endpoint_behavior = 0xffff;
                memcpy(&static_attr.srv6_l3vpn->sid,