diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index b7d0958bac..82a0a58335 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -3357,6 +3357,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; } @@ -3458,6 +3459,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; }