summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2023-08-03 22:30:29 +0300
committerGitHub <noreply@github.com>2023-08-03 22:30:29 +0300
commit7d60bcdad80ae793a9f0d9935f9fd39111a0f97e (patch)
tree841002948ebf9649a6a9edde58af2357bca85b65
parent7e2130bb03aa8d8675d865badd46cc33feeb19e2 (diff)
parent638b05594ac9552251869710b6631c0c643c81be (diff)
Merge pull request #14132 from FRRouting/mergify/bp/stable/9.0/pr-14129docker/9.0.0
bgpd: Fix for session reset issue caused by malformed core attributes in update message (backport #14129)
-rw-r--r--bgpd/bgp_attr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
index ec9f12d61a..3ecffb99d1 100644
--- a/bgpd/bgp_attr.c
+++ b/bgpd/bgp_attr.c
@@ -3570,6 +3570,7 @@ enum bgp_attr_parse_ret bgp_attr_parse(struct peer *peer, struct attr *attr,
attr_args.total);
if (ret == BGP_ATTR_PARSE_PROCEED)
continue;
+ stream_forward_getp(BGP_INPUT(peer), endp - BGP_INPUT_PNT(peer));
goto done;
}
@@ -3674,6 +3675,7 @@ enum bgp_attr_parse_ret bgp_attr_parse(struct peer *peer, struct attr *attr,
EC_BGP_ATTRIBUTE_PARSE_WITHDRAW,
"%s: Attribute %s, parse error - treating as withdrawal",
peer->host, lookup_msg(attr_str, type, NULL));
+ stream_forward_getp(BGP_INPUT(peer), endp - BGP_INPUT_PNT(peer));
goto done;
}