Module Name: src Committed By: tnn Date: Thu Jul 27 10:32:25 UTC 2023
Modified Files: src/external/mpl/dhcp/dist/common: dispatch.c Log Message: dhcpd: move isc_event_free() before isc_timer_destroy() in timer cb isc_timerevent_destroy() called by isc_event_free() expects to be able to hold the timer lock, so must run before the timer is destroyed. PR misc/57491. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/mpl/dhcp/dist/common/dispatch.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/mpl/dhcp/dist/common/dispatch.c diff -u src/external/mpl/dhcp/dist/common/dispatch.c:1.4 src/external/mpl/dhcp/dist/common/dispatch.c:1.5 --- src/external/mpl/dhcp/dist/common/dispatch.c:1.4 Tue Jun 27 09:10:25 2023 +++ src/external/mpl/dhcp/dist/common/dispatch.c Thu Jul 27 10:32:25 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: dispatch.c,v 1.4 2023/06/27 09:10:25 martin Exp $ */ +/* $NetBSD: dispatch.c,v 1.5 2023/07/27 10:32:25 tnn Exp $ */ /* dispatch.c @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: dispatch.c,v 1.4 2023/06/27 09:10:25 martin Exp $"); +__RCSID("$NetBSD: dispatch.c,v 1.5 2023/07/27 10:32:25 tnn Exp $"); #include "dhcpd.h" @@ -183,6 +183,7 @@ isclib_timer_callback(isc_task_t *taskp (*q->unref) (&q->what, MDL); } q->next = free_timeouts; + isc_event_free(&eventp); isc_timer_destroy(&q->isc_timeout); free_timeouts = q; } else { @@ -192,9 +193,9 @@ isclib_timer_callback(isc_task_t *taskp * don't try to - may change this to a log_fatal */ log_error("Error finding timer structure"); + isc_event_free(&eventp); } - isc_event_free(&eventp); return; }