You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2011/01/27 00:40:26 UTC
svn commit: r1063922 - in /commons/proper/codec/trunk/src:
java/org/apache/commons/codec/binary/Base64.java
test/org/apache/commons/codec/binary/Base64Test.java
Author: sebb
Date: Wed Jan 26 23:40:25 2011
New Revision: 1063922
URL: http://svn.apache.org/viewvc?rev=1063922&view=rev
Log:
CODEC-112 Base64.encodeBase64(byte[] binaryData, boolean isChunked, boolean urlSafe, int maxResultSize) throws IAE for valid maxResultSize if isChunked is false
Modified:
commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Base64.java
commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/Base64Test.java
Modified: commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Base64.java
URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Base64.java?rev=1063922&r1=1063921&r2=1063922&view=diff
==============================================================================
--- commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Base64.java (original)
+++ commons/proper/codec/trunk/src/java/org/apache/commons/codec/binary/Base64.java Wed Jan 26 23:40:25 2011
@@ -824,7 +824,7 @@ public class Base64 implements BinaryEnc
return binaryData;
}
- long len = getEncodeLength(binaryData, MIME_CHUNK_SIZE, CHUNK_SEPARATOR);
+ long len = getEncodeLength(binaryData, isChunked ? MIME_CHUNK_SIZE : 0, CHUNK_SEPARATOR);
if (len > maxResultSize) {
throw new IllegalArgumentException("Input array too big, the output array would be bigger (" +
len +
Modified: commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/Base64Test.java
URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/Base64Test.java?rev=1063922&r1=1063921&r2=1063922&view=diff
==============================================================================
--- commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/Base64Test.java (original)
+++ commons/proper/codec/trunk/src/test/org/apache/commons/codec/binary/Base64Test.java Wed Jan 26 23:40:25 2011
@@ -336,13 +336,19 @@ public class Base64Test extends TestCase
testEncodeOverMaxSize(1);
testEncodeOverMaxSize(2);
}
+
+ public void testCodec112() { // size calculation assumes always chunked
+ byte[] in = new byte[] {0};
+ byte[] out=Base64.encodeBase64(in);
+ Base64.encodeBase64(in, false, false, out.length);
+ }
private void testEncodeOverMaxSize(int maxSize) throws Exception {
try {
Base64.encodeBase64(Base64TestData.DECODED, true, false, maxSize);
fail("Expected " + IllegalArgumentException.class.getName());
} catch (IllegalArgumentException e) {
- // Expceted
+ // Expected
}
}