]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: Free internal event categories on lib deinit
authorJosef 'Jeff' Sipek <jeff.sipek@open-xchange.com>
Mon, 2 Dec 2019 13:51:34 +0000 (08:51 -0500)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 2 Dec 2019 15:38:53 +0000 (17:38 +0200)
src/lib/lib-event.c

index 35ad9d20810609994758f3c00d601accf8464da5..55e2cbe125aa23250b1eca775cc775683ae3c1cd 100644 (file)
@@ -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);