summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <donaldsharp72@gmail.com>2023-08-02 13:48:14 -0400
committerGitHub <noreply@github.com>2023-08-02 13:48:14 -0400
commit7415f1e120c9b9d6da9badcfe7e27d22d891cf72 (patch)
treea7c2283982e0f46996914277c6cad422efb6af2c
parentdd08585f1aeac31bc39923abd66369982f147977 (diff)
parent70ff940fd1cbf920958116c558150ca5d3200eb8 (diff)
Merge pull request #14129 from samanvithab/bgpd_frr_fix
bgpd: Fix for session reset issue caused by malformed core attributes in update message
-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 4a5b0ba066..e6c44a760a 100644
--- a/bgpd/bgp_attr.c
+++ b/bgpd/bgp_attr.c
@@ -3600,6 +3600,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;
}
@@ -3704,6 +3705,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;
}