Update Base16_Encode so the ending null terminator is optional.

This commit is contained in:
Kareem
2022-09-20 14:44:01 -07:00
parent 90c9363af8
commit c146fcf581

View File

@ -563,7 +563,7 @@ int Base16_Encode(const byte* in, word32 inLen, byte* out, word32* outLen)
if (in == NULL || out == NULL || outLen == NULL) if (in == NULL || out == NULL || outLen == NULL)
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
if (*outLen < (2 * inLen + 1)) if (*outLen < (2 * inLen))
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
for (i = 0; i < inLen; i++) { for (i = 0; i < inLen; i++) {
@ -584,8 +584,9 @@ int Base16_Encode(const byte* in, word32 inLen, byte* out, word32* outLen)
out[outIdx++] = lb; out[outIdx++] = lb;
} }
/* force 0 at this end */ /* If the output buffer has a room for an extra byte, add a null terminator */
out[outIdx++] = 0; if (*outLen > outIdx)
out[outIdx++]= '\0';
*outLen = outIdx; *outLen = outIdx;
return 0; return 0;