]> 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>
Mon, 25 Nov 2019 23:39:45 +0000 (23:39 +0000)
lib/dns/dispatch.c

index 4a77b7fe457e1c69a726c04060243d3a85f4b0c7..6cd2fd7fe35d27382e5e1ec8e34deb87da1c0ed8 100644 (file)
@@ -1045,9 +1045,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) {
                /*