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);