From: Claudio Jeker Subject: bgpd: stop msgbuf abuse, just use msgbuf_init To: tech@openbsd.org Date: Tue, 20 Aug 2024 16:18:09 +0200 Use msgbuf_init() instead of hand initalizing the msgbuf. -- :wq Claudio Index: rde.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpd/rde.c,v diff -u -p -r1.627 rde.c --- rde.c 20 Aug 2024 11:59:39 -0000 1.627 +++ rde.c 20 Aug 2024 14:10:48 -0000 @@ -3195,7 +3195,7 @@ rde_dump_mrt_new(struct mrt *mrt, pid_t return; } memcpy(&ctx->mrt, mrt, sizeof(struct mrt)); - TAILQ_INIT(&ctx->mrt.wbuf.bufs); + msgbuf_init(&ctx->mrt.wbuf); ctx->mrt.wbuf.fd = fd; ctx->mrt.state = MRT_STATE_RUNNING; rid = rib_find(ctx->mrt.rib); Index: session.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpd/session.c,v diff -u -p -r1.481 session.c --- session.c 20 Aug 2024 11:59:39 -0000 1.481 +++ session.c 20 Aug 2024 14:10:48 -0000 @@ -3159,13 +3159,13 @@ session_dispatch_imsg(struct imsgbuf *im if (mrt == NULL) fatal("session_dispatch_imsg"); memcpy(mrt, &xmrt, sizeof(struct mrt)); - TAILQ_INIT(&mrt->wbuf.bufs); + msgbuf_init(&mrt->wbuf); LIST_INSERT_HEAD(&mrthead, mrt, entry); } else { /* old dump reopened */ close(mrt->wbuf.fd); - mrt->wbuf.fd = xmrt.wbuf.fd; } + mrt->wbuf.fd = xmrt.wbuf.fd; break; case IMSG_MRT_CLOSE: if (idx != PFD_PIPE_MAIN)