summaryrefslogtreecommitdiff
path: root/bgpd/bgp_packet.c
diff options
context:
space:
mode:
authorDonald Sharp <donaldsharp72@gmail.com>2023-10-25 15:33:13 -0400
committerGitHub <noreply@github.com>2023-10-25 15:33:13 -0400
commit010f8998d736f3420f6a6dd44af606b26dbe1108 (patch)
treef3b67884fc4da63c6ff3f2f77e15b2a493010dbc /bgpd/bgp_packet.c
parent42cae6e9bd5e779c4a62526cb744184e5fba8bb2 (diff)
parent6cca03a52e047f1271807ac501b08b3a4f5ad344 (diff)
Merge pull request #14653 from FRRouting/mergify/bp/dev/9.1/pr-14645frr-9.1-rc
bgpd: A couple more bgpd crashes on malformed attributes (backport #14645)
Diffstat (limited to 'bgpd/bgp_packet.c')
-rw-r--r--bgpd/bgp_packet.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
index 24df8864d3..8fbdce56a2 100644
--- a/bgpd/bgp_packet.c
+++ b/bgpd/bgp_packet.c
@@ -2242,8 +2242,7 @@ static int bgp_update_receive(struct peer_connection *connection,
* Non-MP IPv4/Unicast EoR is a completely empty UPDATE
* and MP EoR should have only an empty MP_UNREACH
*/
- if ((!update_len && !withdraw_len && nlris[NLRI_MP_UPDATE].length == 0)
- || (attr_parse_ret == BGP_ATTR_PARSE_EOR)) {
+ if (!update_len && !withdraw_len && nlris[NLRI_MP_UPDATE].length == 0) {
afi_t afi = 0;
safi_t safi;
struct graceful_restart_info *gr_info;
@@ -2264,9 +2263,6 @@ static int bgp_update_receive(struct peer_connection *connection,
&& nlris[NLRI_MP_WITHDRAW].length == 0) {
afi = nlris[NLRI_MP_WITHDRAW].afi;
safi = nlris[NLRI_MP_WITHDRAW].safi;
- } else if (attr_parse_ret == BGP_ATTR_PARSE_EOR) {
- afi = nlris[NLRI_MP_UPDATE].afi;
- safi = nlris[NLRI_MP_UPDATE].safi;
}
if (afi && peer->afc[afi][safi]) {