diff --git a/src/lib-sieve/sieve-script.c b/src/lib-sieve/sieve-script.c index ade6465d9d4213e61cdad2cb7bf917e7ce93d37d..bcf567cdfac791959269ed5695fa2b05c96a50c6 100644 --- a/src/lib-sieve/sieve-script.c +++ b/src/lib-sieve/sieve-script.c @@ -172,6 +172,7 @@ int sieve_script_open(struct sieve_script *script, enum sieve_error *error_code_r) { enum sieve_error error_code; + int ret; if (error_code_r != NULL) *error_code_r = SIEVE_ERROR_NONE; @@ -181,7 +182,9 @@ int sieve_script_open(struct sieve_script *script, if (script->open) return 0; - if (script->v.open(script, error_code_r) < 0) + ret = script->v.open(script, error_code_r); + i_assert(ret <= 0); + if (ret < 0) return -1; i_assert(script->location != NULL);