提交 2b7af701 编写于 作者: U Ulf Möller

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

Submitted by: Ivan Nejgebauer <ian@uns.ns.ac.yu>
上级 1bf0b46b
......@@ -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)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册