mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 13:01:59 +00:00
bgpd: fix missing bgp_attr_flush on errors in bgp_update
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
This commit is contained in:
parent
8aa03a655e
commit
4dbf2038ea
@ -3930,6 +3930,7 @@ int bgp_update(struct peer *peer, const struct prefix *p, uint32_t addpath_id,
|
||||
if (bgp_mac_entry_exists(p) || bgp_mac_exist(&attr->rmac)) {
|
||||
peer->stat_pfx_nh_invalid++;
|
||||
reason = "self mac;";
|
||||
bgp_attr_flush(&new_attr);
|
||||
goto filtered;
|
||||
}
|
||||
|
||||
@ -3946,13 +3947,15 @@ int bgp_update(struct peer *peer, const struct prefix *p, uint32_t addpath_id,
|
||||
&& (!CHECK_FLAG(dest->flags, BGP_NODE_FIB_INSTALLED)))
|
||||
SET_FLAG(dest->flags, BGP_NODE_FIB_INSTALL_PENDING);
|
||||
|
||||
attr_new = bgp_attr_intern(&new_attr);
|
||||
|
||||
/* If maximum prefix count is configured and current prefix
|
||||
* count exeed it.
|
||||
*/
|
||||
if (bgp_maximum_prefix_overflow(peer, afi, safi, 0))
|
||||
if (bgp_maximum_prefix_overflow(peer, afi, safi, 0)) {
|
||||
bgp_attr_flush(&new_attr);
|
||||
return -1;
|
||||
}
|
||||
|
||||
attr_new = bgp_attr_intern(&new_attr);
|
||||
|
||||
/* If the update is implicit withdraw. */
|
||||
if (pi) {
|
||||
|
Loading…
Reference in New Issue
Block a user