[FILEUPLOAD-233] fixed and re-enabled the test case where an empty string doesn't need to be decoded
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/fileupload/trunk@1458236 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/commons/fileupload/util/mime/Base64Decoder.java b/src/main/java/org/apache/commons/fileupload/util/mime/Base64Decoder.java
index a838804..42264da 100644
--- a/src/main/java/org/apache/commons/fileupload/util/mime/Base64Decoder.java
+++ b/src/main/java/org/apache/commons/fileupload/util/mime/Base64Decoder.java
@@ -92,6 +92,10 @@
byte b1, b2, b3, b4;
int outLen = 0;
+ if (data.length == 0 || length == 0) {
+ return outLen;
+ }
+
int end = off + length;
while (end > 0) {
diff --git a/src/test/java/org/apache/commons/fileupload/util/mime/Base64DecoderTestCase.java b/src/test/java/org/apache/commons/fileupload/util/mime/Base64DecoderTestCase.java
index dd3bc9d..b6ef297 100644
--- a/src/test/java/org/apache/commons/fileupload/util/mime/Base64DecoderTestCase.java
+++ b/src/test/java/org/apache/commons/fileupload/util/mime/Base64DecoderTestCase.java
@@ -45,7 +45,7 @@
*/
@Test
public void rfc4648Section10Decode() throws Exception {
- // assertEncoded("", "");
+ assertEncoded("", "");
assertEncoded("f", "Zg==");
assertEncoded("fo", "Zm8=");
// assertEncoded("foo", "Zm9v");