From 7261c0cb50de33a789c885639522a57e5433e394 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Tue, 2 Apr 2013 23:09:14 +0200 Subject: [PATCH] lib-sieve: Fixed plugin module load functionality. Initializing multiple Sieve instances would hang. --- src/lib-sieve/sieve-plugins.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/lib-sieve/sieve-plugins.c b/src/lib-sieve/sieve-plugins.c index a994ca452..2cf218b12 100644 --- a/src/lib-sieve/sieve-plugins.c +++ b/src/lib-sieve/sieve-plugins.c @@ -58,7 +58,7 @@ static struct module *sieve_plugin_module_find(const char *name) void sieve_plugins_load (struct sieve_instance *svinst, const char *path, const char *plugins) { - struct module *new_modules, *module; + struct module *module; struct module_dir_load_settings mod_set; const char **module_names; unsigned int i; @@ -83,22 +83,9 @@ void sieve_plugins_load /* Load missing plugin modules */ - new_modules = module_dir_load_missing + sieve_modules = module_dir_load_missing (sieve_modules, path, plugins, &mod_set); - if ( sieve_modules == NULL ) { - /* No modules loaded yet */ - sieve_modules = new_modules; - } else { - /* Find the end of the list */ - module = sieve_modules; - while ( module != NULL && module->next != NULL ) - module = module->next; - - /* Add newly loaded modules */ - module->next = new_modules; - } - /* Call plugin load functions for this Sieve instance */ if ( svinst->plugins == NULL ) { -- GitLab