From 13cc0c2122acdcbf9309ef0762c891b4a86c640b Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Thu, 5 Jun 2025 16:02:55 +0200 Subject: [PATCH] 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 --- tests/suites/test_suite_base64.function | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/suites/test_suite_base64.function b/tests/suites/test_suite_base64.function index df63aea06f..5d8ed9bf9f 100644 --- a/tests/suites/test_suite_base64.function +++ b/tests/suites/test_suite_base64.function @@ -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);