From c26a0e51011d712f5f20ff93e30366a66dce26b9 Mon Sep 17 00:00:00 2001 From: PeiYong Zhang <peiyongz@apache.org> Date: Mon, 27 Jan 2003 21:15:56 +0000 Subject: [PATCH] only zero or one space allowed in between B64 character. git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@174673 13f79535-47bb-0310-9956-ffa450edef68 --- src/xercesc/util/Base64.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/xercesc/util/Base64.cpp b/src/xercesc/util/Base64.cpp index c21c72e25..7c75f7dad 100644 --- a/src/xercesc/util/Base64.cpp +++ b/src/xercesc/util/Base64.cpp @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.8 2003/01/27 21:15:56 peiyongz + * only zero or one space allowed in between B64 character. + * * Revision 1.7 2002/12/20 22:10:20 tng * XML 1.1 * @@ -333,10 +336,22 @@ XMLByte* Base64::decode(const XMLByte* const inputData, int inputIndex = 0; int rawInputLength = 0; + bool inWhiteSpace = false; + while ( inputIndex < inputLength ) { if (!XMLChar1_0::isWhitespace(inputData[inputIndex])) + { rawInputData[ rawInputLength++ ] = inputData[ inputIndex ]; + inWhiteSpace = false; + } + else + { + if (inWhiteSpace) + return 0; // more than 1 whitespaces encountered + else + inWhiteSpace = true; + } inputIndex++; } -- GitLab