diff --git a/wolfcrypt/src/coding.c b/wolfcrypt/src/coding.c index ec1bc4b13..1b6bd5795 100644 --- a/wolfcrypt/src/coding.c +++ b/wolfcrypt/src/coding.c @@ -136,12 +136,15 @@ static WC_INLINE int Base64_SkipNewline(const byte* in, word32 *inLen, word32 *o WOLFSSL_MSG("Bad end of line in Base64 Decode"); return ASN_INPUT_E; } - curChar = in[j]; + + if (len) { + curChar = in[j]; + } } while (len && curChar == ' ') { - /* skip whitespace at beginning of line */ - curChar = in[++j]; - len--; + if (--len > 0) { + curChar = in[++j]; + } } if (!len) { return BUFFER_E;