Compare commits

..

2 Commits

Author SHA1 Message Date
Hongcai Deng e108fe4567
Merge a16fde8070 into 82f66af3e2 2026-01-22 10:22:55 +08:00
YuQing 82f66af3e2 base64_decode check dummies count for safety 2026-01-22 09:11:23 +08:00
1 changed files with 14 additions and 9 deletions

View File

@ -297,9 +297,7 @@ char *base64_decode_auto(struct base64_context *context, const char *src, \
memcpy(pBuff, src, nSrcLen);
memset(pBuff + nSrcLen, context->pad_ch, nPadLen);
base64_decode(context, pBuff, nNewLen, dest, dest_len);
if (pBuff != tmpBuff)
{
free(pBuff);
@ -387,14 +385,21 @@ char *base64_decode(struct base64_context *context, const char *src, \
{
*dest = '\0';
*dest_len = 0;
fprintf(stderr, "Input to decode not an even multiple of " \
fprintf(stderr, "Input to decode not an even multiple of "
"4 characters; pad with %c\n", context->pad_ch);
return dest;
}
if (dummies > 2)
{
*dest = '\0';
*dest_len = 0;
fprintf(stderr, "pad char: %c count %d exceeds 2\n",
context->pad_ch, dummies);
return dest;
}
*dest_len = (pDest - dest) - dummies;
*(dest + (*dest_len)) = '\0';
return dest;
}