From: Ulf Möller <ulf@openssl.org>
Date: Fri, 13 Aug 1999 19:42:33 +0000 (+0000)
Subject: Fix faulty base64 decoding of data that was 46 or 47 bytes long.
X-Git-Tag: OpenSSL_0_9_5beta1~578
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2b7af70139076691e622dd64829adcae74d181ad;p=oweals%2Fopenssl.git

Fix faulty base64 decoding of data that was 46 or 47 bytes long.

Submitted by: Ivan Nejgebauer <ian@uns.ns.ac.yu>
---

diff --git a/crypto/evp/encode.c b/crypto/evp/encode.c
index 0152624a76..110435d5df 100644
--- a/crypto/evp/encode.c
+++ b/crypto/evp/encode.c
@@ -294,12 +294,12 @@ int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
 		if (((i+1) == inl) && (((n&3) == 0) || eof))
 			v=B64_EOF;
 
-		if ((v == B64_EOF) || (n >= 64))
+		if ((v == B64_EOF) || (n >= 68))
 			{
 			/* This is needed to work correctly on 64 byte input
 			 * lines.  We process the line and then need to
 			 * accept the '\n' */
-			if ((v != B64_EOF) && (n >= 64)) exp_nl=1;
+			if ((v != B64_EOF) && (n >= 68)) exp_nl=1;
 			tmp2=v;
 			if (n > 0)
 				{