From: Timo Sirainen Date: Tue, 23 May 2023 08:44:57 +0000 (+0300) Subject: lib-settings: Use event_filter_create_with_pool() for created filters X-Git-Tag: 2.4.0~1971 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ff58b33edb5a1892b8a77429a5c66fa0aaf3aff4;p=thirdparty%2Fdovecot%2Fcore.git lib-settings: Use event_filter_create_with_pool() for created filters This way there is no wasted memory with each filter creating their own pool and using only part of it. --- diff --git a/src/lib-settings/settings.c b/src/lib-settings/settings.c index 438261f3cf..a49690e3a4 100644 --- a/src/lib-settings/settings.c +++ b/src/lib-settings/settings.c @@ -189,7 +189,8 @@ settings_read_filters(struct settings_mmap *mmap, uoff_t *offset, if (filter_string[0] == '\0') continue; - mmap->event_filters[i] = event_filter_create(); + mmap->event_filters[i] = event_filter_create_with_pool(mmap->pool); + pool_ref(mmap->pool); if (event_filter_parse_case_sensitive(filter_string, mmap->event_filters[i], &error) < 0) { *error_r = t_strdup_printf( @@ -1234,7 +1235,8 @@ settings_override_get_filter(struct settings_override *set, pool_t pool, if (filter == NULL) return; - set->filter = event_filter_create(); + set->filter = event_filter_create_with_pool(pool); + pool_ref(pool); if (event_filter_parse_case_sensitive(str_c(filter), set->filter, &error) < 0) { i_panic("BUG: Failed to create event filter filter for %s: %s",