From 114f98a75334813fe116da3d95567db8984d45b9 Mon Sep 17 00:00:00 2001 From: Mattias Niklewski Date: Tue, 18 Jan 2011 14:27:23 +0100 Subject: Always return a valid index from Rfc822Tokenizer.findTokenEnd() If an invalid input string ends with a backslash inside a comment or quoted string, the returned index would be past the end of the string. In one case this would lead to a runtime exception being thrown from MultiAutoCompleteTextView.performValidation. Change-Id: If629372b429716c25cdc25764f088e95d4812d57 --- core/java/android/text/util/Rfc822Tokenizer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'core/java/android/text/util') diff --git a/core/java/android/text/util/Rfc822Tokenizer.java b/core/java/android/text/util/Rfc822Tokenizer.java index 69cf93c..68334e4 100644 --- a/core/java/android/text/util/Rfc822Tokenizer.java +++ b/core/java/android/text/util/Rfc822Tokenizer.java @@ -256,7 +256,7 @@ public class Rfc822Tokenizer implements MultiAutoCompleteTextView.Tokenizer { if (c == '"') { i++; break; - } else if (c == '\\') { + } else if (c == '\\' && i + 1 < len) { i += 2; } else { i++; @@ -275,7 +275,7 @@ public class Rfc822Tokenizer implements MultiAutoCompleteTextView.Tokenizer { } else if (c == '(') { level++; i++; - } else if (c == '\\') { + } else if (c == '\\' && i + 1 < len) { i += 2; } else { i++; -- cgit v1.1