summaryrefslogtreecommitdiff
path: root/crypto/openssl/crypto/evp/bio_b64.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssl/crypto/evp/bio_b64.c')
-rw-r--r--crypto/openssl/crypto/evp/bio_b64.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/openssl/crypto/evp/bio_b64.c b/crypto/openssl/crypto/evp/bio_b64.c
index 72a2a67277a3..16863fe23f0e 100644
--- a/crypto/openssl/crypto/evp/bio_b64.c
+++ b/crypto/openssl/crypto/evp/bio_b64.c
@@ -226,6 +226,7 @@ static int b64_read(BIO *b, char *out, int outl)
else if (ctx->start)
{
q=p=(unsigned char *)ctx->tmp;
+ num = 0;
for (j=0; j<i; j++)
{
if (*(q++) != '\n') continue;
@@ -264,7 +265,7 @@ static int b64_read(BIO *b, char *out, int outl)
}
/* we fell off the end without starting */
- if (j == i)
+ if ((j == i) && (num == 0))
{
/* Is this is one long chunk?, if so, keep on
* reading until a new line. */