diff --git a/src/lib-sieve/plugins/variables/cmd-set.c b/src/lib-sieve/plugins/variables/cmd-set.c index 88ba5bf654bf5b0f3ac6d319b06888e2309b69dd..d9ebabacd298f15230f1f54c4d33096641851237 100644 --- a/src/lib-sieve/plugins/variables/cmd-set.c +++ b/src/lib-sieve/plugins/variables/cmd-set.c @@ -316,17 +316,17 @@ static int cmd_set_operation_execute str_truncate(value, EXT_VARIABLES_MAX_VARIABLE_SIZE); /* Apply modifiers if necessary (sorted during code generation already) */ - if ( str_len(value) > 0 ) { - for ( i = 0; i < mdfs; i++ ) { - string_t *new_value; - struct sieve_variables_modifier modf; - - if ( !ext_variables_opr_modifier_read(renv, address, &modf) ) { - value = NULL; - ret = SIEVE_EXEC_BIN_CORRUPT; - break; - } + for ( i = 0; i < mdfs; i++ ) { + string_t *new_value; + struct sieve_variables_modifier modf; + + if ( !ext_variables_opr_modifier_read(renv, address, &modf) ) { + value = NULL; + ret = SIEVE_EXEC_BIN_CORRUPT; + break; + } + if ( str_len(value) > 0 ) { if ( modf.def != NULL && modf.def->modify != NULL ) { if ( !modf.def->modify(value, &new_value) ) { value = NULL;