You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ni...@apache.org on 2007/03/26 08:42:04 UTC
svn commit: r522438 - in /james/mime4j/trunk/src:
main/java/org/mime4j/decoder/DecoderUtil.java
test/java/org/mime4j/decoder/DecoderUtilTest.java
Author: niklas
Date: Sun Mar 25 23:42:02 2007
New Revision: 522438
URL: http://svn.apache.org/viewvc?view=rev&rev=522438
Log:
The encoded word '=?ISO-8859-1?Q?' caused an IndexOutOfBoundsException to be logged and then the empty string was returned. DecoderUtil will now deal with this encoded word and an exception won't be logged.
Modified:
james/mime4j/trunk/src/main/java/org/mime4j/decoder/DecoderUtil.java
james/mime4j/trunk/src/test/java/org/mime4j/decoder/DecoderUtilTest.java
Modified: james/mime4j/trunk/src/main/java/org/mime4j/decoder/DecoderUtil.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/mime4j/decoder/DecoderUtil.java?view=diff&rev=522438&r1=522437&r2=522438
==============================================================================
--- james/mime4j/trunk/src/main/java/org/mime4j/decoder/DecoderUtil.java (original)
+++ james/mime4j/trunk/src/main/java/org/mime4j/decoder/DecoderUtil.java Sun Mar 25 23:42:02 2007
@@ -197,9 +197,9 @@
*/
p2 = t2 != -1 ? body.indexOf("?=", t2 + 1) : -1;
if (p2 == -1) {
- if (t2 != -1 && body.charAt(t2 + 1) == '=') {
+ if (t2 != -1 && (body.length() - 1 == t2 || body.charAt(t2 + 1) == '=')) {
/*
- * The text "=?charset?enc?=" appears to be valid for
+ * Treat "=?charset?enc?" and "=?charset?enc?=" as
* empty strings.
*/
p2 = t2;
Modified: james/mime4j/trunk/src/test/java/org/mime4j/decoder/DecoderUtilTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/mime4j/decoder/DecoderUtilTest.java?view=diff&rev=522438&r1=522437&r2=522438
==============================================================================
--- james/mime4j/trunk/src/test/java/org/mime4j/decoder/DecoderUtilTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/mime4j/decoder/DecoderUtilTest.java Sun Mar 25 23:42:02 2007
@@ -78,6 +78,7 @@
DecoderUtil.decodeEncodedWords("=?US-ASCII?b?QSBzaG9ydCB0ZXh0IGFnYWluIQ==?="));
assertEquals("", DecoderUtil.decodeEncodedWords("=?iso8859-1?Q?="));
assertEquals("", DecoderUtil.decodeEncodedWords("=?iso8859-1?b?="));
+ assertEquals("", DecoderUtil.decodeEncodedWords("=?ISO-8859-1?Q?"));
/*
* Bug detected on June 7, 2005. Decoding the following string caused
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org