]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: module_dir_*load*(): Avoid growing data stack when checking duplicates
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 16 Nov 2020 12:58:08 +0000 (14:58 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 4 May 2021 07:02:35 +0000 (07:02 +0000)
This check could have unnecessarily grown data stack size when many plugins
are installed.

src/lib/module-dir.c

index 5de0dedfab59a18229b94438dea5e988d7f15007..5576df3cb46c45d8f188394df334cf009934f291 100644 (file)
@@ -314,13 +314,13 @@ static void check_duplicates(ARRAY_TYPE(const_string) *names,
 
        base_name = module_file_get_name(name);
        names_p = array_get(names, &count);
-       for (i = 0; i < count; i++) {
+       for (i = 0; i < count; i++) T_BEGIN {
                tmp = module_file_get_name(names_p[i]);
 
                if (strcmp(tmp, base_name) == 0)
                        i_fatal("Multiple files for module %s: %s/%s, %s/%s",
                                base_name, dir, name, dir, names_p[i]);
-       }
+       } T_END;
 }
 
 struct module *module_dir_find(struct module *modules, const char *name)