dovecot-1.2-sieve: lib-sieve: variables extension: Fixed code co...
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Mon Sep 16 02:14:25 EEST 2013
details: http://hg.rename-it.nl/dovecot-1.2-sieve/rev/484b6f13131c
changeset: 1295:484b6f13131c
user: Stephan Bosch <stephan at rename-it.nl>
date: Mon Sep 16 01:14:17 2013 +0200
description:
lib-sieve: variables extension: Fixed code corruption bug in 'set' command.
diffstat:
src/lib-sieve/plugins/variables/cmd-set.c | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diffs (35 lines):
diff -r d5188ad86a3d -r 484b6f13131c src/lib-sieve/plugins/variables/cmd-set.c
--- a/src/lib-sieve/plugins/variables/cmd-set.c Mon Sep 16 01:02:34 2013 +0200
+++ b/src/lib-sieve/plugins/variables/cmd-set.c Mon Sep 16 01:14:17 2013 +0200
@@ -321,19 +321,19 @@
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;
+ 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;
- sieve_runtime_trace_error(renv, "invalid modifier operand");
- ret = SIEVE_EXEC_BIN_CORRUPT;
- break;
- }
-
+ sieve_runtime_trace_error(renv, "invalid modifier operand");
+ 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;
More information about the dovecot-cvs
mailing list