]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
lock disp->mgr before reading disp->mgr->buffers
authorMark Andrews <marka@isc.org>
Fri, 22 Nov 2019 00:55:47 +0000 (11:55 +1100)
committerMark Andrews <marka@isc.org>
Tue, 26 Nov 2019 00:53:19 +0000 (11:53 +1100)
(cherry picked from commit afc7389ce8fb0fd5a360cb9a48b4db874aa230e2)

lib/dns/dispatch.c

index a2b78b24f87d87238d00645aa6000c021b505915..6b18c24ea861de090433f8dabe93bb7a3e301c90 100644 (file)
@@ -1049,9 +1049,11 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) {
        mgr = disp->mgr;
        qid = mgr->qid;
 
+       LOCK(&disp->mgr->buffer_lock);
        dispatch_log(disp, LVL(90),
                     "got packet: requests %d, buffers %d, recvs %d",
                     disp->requests, disp->mgr->buffers, disp->recv_pending);
+       UNLOCK(&disp->mgr->buffer_lock);
 
        if (dispsock == NULL && ev->ev_type == ISC_SOCKEVENT_RECVDONE) {
                /*