mbedtls_base64_decode: test dst=NULL with dlen>0

The documentation explicitly says that `*dst = NULL` **or** `dlen = 0`
triggers tell-me-the-output-length mode.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
Gilles Peskine
2025-06-05 16:02:55 +02:00
parent e7ed8c4c2f
commit 13cc0c2122

View File

@@ -132,6 +132,14 @@ void mbedtls_base64_decode(char *src_string, char *dst_string, int result)
TEST_EQUAL(correct_dst_len, len);
}
/* Test dst=NULL with dlen!=0 (explicitly documented as supported) */
if (result == 0 && dst_size != 0) {
TEST_EQUAL(mbedtls_base64_decode(NULL, 42, &len,
src, src_len),
MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL);
TEST_EQUAL(correct_dst_len, len);
}
exit:
mbedtls_free(src);
mbedtls_free(dst);