dovecot-2.2-pigeonhole: lib-sieve: Fixed an off-by-one error in ...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Sat Jan 2 18:36:06 UTC 2016


details:   http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/c5c60d8f2936
changeset: 2190:c5c60d8f2936
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Sat Jan 02 19:34:58 2016 +0100
description:
lib-sieve: Fixed an off-by-one error in the previously committed string trimming functions.

diffstat:

 src/lib-sieve/util/strtrim.c |  12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diffs (28 lines):

diff -r 6c58f65dcb3f -r c5c60d8f2936 src/lib-sieve/util/strtrim.c
--- a/src/lib-sieve/util/strtrim.c	Sat Jan 02 18:27:14 2016 +0100
+++ b/src/lib-sieve/util/strtrim.c	Sat Jan 02 19:34:58 2016 +0100
@@ -24,17 +24,19 @@
 	if ((sides & STR_TRIM_LEFT) != 0) {
 		while (p < pend && strchr(chars, *p) != NULL)
 			p++;
+		if (p == pend)
+			return;
 	}
 	begin = p;
 
-	p = pend - 1;
+	p = pend;
 	if ((sides & STR_TRIM_RIGHT) != 0) {
-		while (p > begin && strchr(chars, *p) != NULL)
+		while (p > begin && strchr(chars, *(p-1)) != NULL)
 			p--;
+		if (p == begin)
+			return;
 	}
-	if (p <= begin)
-		return;
-	end = p + 1;
+	end = p;
 
 	*begin_r = begin;
 	*end_r = end;


More information about the dovecot-cvs mailing list