]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: Copy the password from the previous peer on peer_xfer_config() 13118/head
authorDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 27 Mar 2023 19:03:03 +0000 (22:03 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 27 Mar 2023 19:20:26 +0000 (22:20 +0300)
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>
bgpd/bgpd.c

index cbed52068f856c15a7ece4fc90495a7fa9c1acf9..0f0ba4d6ade7d7ca72a1191710d343b1c733b32c 100644 (file)
@@ -1496,9 +1496,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];