From 0714b34d2a53e0e175b40d22023873bda164f3f4 Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Thu, 22 Jun 2017 21:12:21 +0200 Subject: [PATCH] lib-sieve: include extension: Fixed segfault that (sometimes) occurred when the global script location was left unconfigured. --- src/lib-sieve/plugins/include/ext-include-binary.c | 2 +- src/lib-sieve/plugins/include/ext-include-common.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib-sieve/plugins/include/ext-include-binary.c b/src/lib-sieve/plugins/include/ext-include-binary.c index be0b8a335..08e798413 100644 --- a/src/lib-sieve/plugins/include/ext-include-binary.c +++ b/src/lib-sieve/plugins/include/ext-include-binary.c @@ -316,7 +316,7 @@ static bool ext_include_binary_open /* Can we find the script dependency ? */ storage = ext_include_get_script_storage - (ext, location, str_c(script_name), NULL); + (ext, location, str_c(script_name), &error); if ( storage == NULL ) { /* No, recompile */ // FIXME: handle ':optional' in this case diff --git a/src/lib-sieve/plugins/include/ext-include-common.c b/src/lib-sieve/plugins/include/ext-include-common.c index 81f5ec5b1..b22e2cda2 100644 --- a/src/lib-sieve/plugins/include/ext-include-common.c +++ b/src/lib-sieve/plugins/include/ext-include-common.c @@ -160,7 +160,8 @@ struct sieve_storage *ext_include_get_script_storage sieve_sys_info(svinst, "include: sieve_global is unconfigured; " "include of `:global' script `%s' is therefore not possible", str_sanitize(script_name, 80)); - *error_r = SIEVE_ERROR_NOT_FOUND; + if ( error_r != NULL ) + *error_r = SIEVE_ERROR_NOT_FOUND; return NULL; } if ( ctx->global_storage == NULL ) {