summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2023-03-27 22:03:03 +0300
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2023-03-28 15:22:24 +0000
commit722f3aef4edeedf2932bc685a98efcd13505ab5d (patch)
tree4495755db8abd2e2f1c632c335b3e9e3a1057a84
parent6d305dda4f65c6852e4446c465d54697e0410534 (diff)
bgpd: Copy the password from the previous peer on peer_xfer_config()
We copy the password only if an existing peer structure didn't have it. But it might be the case when it exists, and we skip here. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org> (cherry picked from commit b5b6f11fcb90219cbc69e5845872f2769d42bb2c)
-rw-r--r--bgpd/bgpd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 1abd8e9a87..94d41e70c1 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -1492,9 +1492,11 @@ void peer_xfer_config(struct peer *peer_dst, struct peer *peer_src)
peer_dst->v_delayopen = peer_src->v_delayopen;
/* password apply */
- if (peer_src->password && !peer_dst->password)
+ if (peer_src->password) {
+ XFREE(MTYPE_PEER_PASSWORD, peer_dst->password);
peer_dst->password =
XSTRDUP(MTYPE_PEER_PASSWORD, peer_src->password);
+ }
FOREACH_AFI_SAFI (afi, safi) {
peer_dst->afc[afi][safi] = peer_src->afc[afi][safi];