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;

Reply via email to