Use the destination for the buffer len not the source.
--
:wq Claudio
Index: control.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/control.c,v
retrieving revision 1.110
diff -u -p -r1.110 control.c
--- control.c 20 Apr 2023 12:53:27 -0000 1.110
+++ control.c 20 Jul 2023 10:51:54 -0000
@@ -393,14 +393,14 @@ control_dispatch_msg(struct pollfd *pfd,
p->conf.down = 1;
strlcpy(p->conf.reason,
neighbor->reason,
- sizeof(neighbor->reason));
+ sizeof(p->conf.reason));
session_stop(p, ERR_CEASE_ADMIN_DOWN);
control_result(c, CTL_RES_OK);
break;
case IMSG_CTL_NEIGHBOR_CLEAR:
strlcpy(p->conf.reason,
neighbor->reason,
- sizeof(neighbor->reason));
+ sizeof(p->conf.reason));
p->IdleHoldTime =
INTERVAL_IDLE_HOLD_INITIAL;
p->errcnt = 0;