]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Copy the password from the previous peer on peer_xfer_config()
authorDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 27 Mar 2023 19:03:03 +0000 (22:03 +0300)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Tue, 28 Mar 2023 15:22:23 +0000 (15:22 +0000)
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)

bgpd/bgpd.c

index ac3e8866b8673c32bd4f6c3a01ce1dd65b07bc8a..7e7d57e2c0f10403a1dd83e6a6d86b337bd7bea4 100644 (file)
@@ -1461,9 +1461,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];