From: Josef 'Jeff' Sipek Date: Mon, 2 Dec 2019 13:51:34 +0000 (-0500) Subject: lib: Free internal event categories on lib deinit X-Git-Tag: 2.3.10~249 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=83f3bf0ed5b1d05161898ee7efa137f232281b73;p=thirdparty%2Fdovecot%2Fcore.git lib: Free internal event categories on lib deinit --- diff --git a/src/lib/lib-event.c b/src/lib/lib-event.c index 35ad9d2081..55e2cbe125 100644 --- a/src/lib/lib-event.c +++ b/src/lib/lib-event.c @@ -1329,6 +1329,8 @@ void lib_event_init(void) void lib_event_deinit(void) { + struct event_internal_category **internal; + event_unset_global_debug_log_filter(); event_unset_global_debug_send_filter(); event_unset_global_core_log_filter(); @@ -1337,6 +1339,13 @@ void lib_event_deinit(void) event, event->parent, event->source_filename, event->source_linenum); } + /* categories cannot be unregistered, so just free them here */ + array_foreach_modifiable(&event_registered_categories_internal, internal) { + struct event_internal_category *cur = *internal; + + i_free(cur->name); + i_free(cur); + } array_free(&event_handlers); array_free(&event_category_callbacks); array_free(&event_registered_categories_internal);