diff options
| author | Donald Sharp <donaldsharp72@gmail.com> | 2024-09-13 11:27:03 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-13 11:27:03 -0400 |
| commit | fcbe34b1e5c8bbef938568914efee9fa56645080 (patch) | |
| tree | fd432bd85f543f152ee6f35e7945b877f5b965b1 | |
| parent | ecbbda49bccba7b18653133f9bfa81bd7ee58ac6 (diff) | |
| parent | ca92b815458afd5b9f35b6240ce804046637ab25 (diff) | |
Merge pull request #16817 from opensourcerouting/fix/backports_for_8.4
Manual backport for 8.4
| -rw-r--r-- | bgpd/bgp_attr.c | 8 | ||||
| -rw-r--r-- | bgpd/bgp_rpki.c | 3 | ||||
| -rw-r--r-- | isisd/isis_te.c | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index 13bc05d638..2cb3164f26 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -2510,6 +2510,14 @@ static int bgp_attr_encap(struct bgp_attr_parser_args *args) args->total); } + if (STREAM_READABLE(BGP_INPUT(peer)) < sublength) { + zlog_err("Tunnel Encap attribute sub-tlv length %d exceeds remaining stream length %zu", + sublength, STREAM_READABLE(BGP_INPUT(peer))); + return bgp_attr_malformed(args, + BGP_NOTIFY_UPDATE_OPT_ATTR_ERR, + args->total); + } + /* alloc and copy sub-tlv */ /* TBD make sure these are freed when attributes are released */ tlv = XCALLOC(MTYPE_ENCAP_TLV, diff --git a/bgpd/bgp_rpki.c b/bgpd/bgp_rpki.c index 5743e5da67..1ca83fa169 100644 --- a/bgpd/bgp_rpki.c +++ b/bgpd/bgp_rpki.c @@ -282,7 +282,8 @@ static void rpki_delete_all_cache_nodes(void) struct cache *cache; for (ALL_LIST_ELEMENTS(cache_list, cache_node, cache_next, cache)) { - rtr_mgr_remove_group(rtr_config, cache->preference); + if (is_running()) + rtr_mgr_remove_group(rtr_config, cache->preference); listnode_delete(cache_list, cache); } } diff --git a/isisd/isis_te.c b/isisd/isis_te.c index 0093279cde..57e876faa0 100644 --- a/isisd/isis_te.c +++ b/isisd/isis_te.c @@ -188,7 +188,7 @@ void isis_link_params_update(struct isis_circuit *circuit, return; /* Sanity Check */ - if ((ifp == NULL) || (circuit->state != C_STATE_UP)) + if (ifp == NULL) return; te_debug("ISIS-TE(%s): Update circuit parameters for interface %s", |
