From: sergey.kitov Date: Mon, 30 Sep 2024 14:02:44 +0000 (+0300) Subject: lib-settings: Call settings_parse_array_stop for seen settings. X-Git-Tag: 2.4.0~349 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0cd06a1f8f0c7a69518d8d553cce1bc20f4dec12;p=thirdparty%2Fdovecot%2Fcore.git lib-settings: Call settings_parse_array_stop for seen settings. Not calling settings_parse_array_stop() for seen settings cause excessive elements in list, when settings are read for second time. --- diff --git a/src/lib-settings/settings.c b/src/lib-settings/settings.c index 83d8755a41..e0119d848b 100644 --- a/src/lib-settings/settings.c +++ b/src/lib-settings/settings.c @@ -749,13 +749,9 @@ settings_mmap_apply_blob(struct settings_apply_ctx *ctx, offset, end_offset, mmap->mmap_size); return -1; } - int ret; - if (!set_apply) - ret = 0; - else T_BEGIN { - if (list_clear) - ret = 0; - else { + int ret = 0; + T_BEGIN { + if (set_apply && !list_clear) { ret = settings_mmap_apply_key(ctx, key_idx, list_key, value, error_r); }