diff --git a/tests/suites/test_suite_lmots.function b/tests/suites/test_suite_lmots.function index f18b79c0d..94d6b8e03 100644 --- a/tests/suites/test_suite_lmots.function +++ b/tests/suites/test_suite_lmots.function @@ -178,6 +178,15 @@ void lmots_import_export_test ( data_t * pub_key, int expected_import_rc ) MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL ); mbedtls_free(exported_pub_key); exported_pub_key = NULL; + + /* Export into too-large buffer should succeed */ + exported_pub_key_buf_size = MBEDTLS_LMOTS_PUBLIC_KEY_LEN(MBEDTLS_LMOTS_SHA256_N32_W8) + 1; + ASSERT_ALLOC( exported_pub_key, exported_pub_key_buf_size); + TEST_EQUAL( mbedtls_lmots_export_public_key( &ctx, exported_pub_key, + exported_pub_key_buf_size, NULL ), + 0 ); + mbedtls_free(exported_pub_key); + exported_pub_key = NULL; } exit: diff --git a/tests/suites/test_suite_lms.function b/tests/suites/test_suite_lms.function index 97f45e642..51addea0f 100644 --- a/tests/suites/test_suite_lms.function +++ b/tests/suites/test_suite_lms.function @@ -180,6 +180,15 @@ void lms_import_export_test ( data_t * pub_key, int expected_import_rc ) MBEDTLS_ERR_LMS_BUFFER_TOO_SMALL ); mbedtls_free(exported_pub_key); exported_pub_key = NULL; + + /* Export into too-large buffer should succeed */ + exported_pub_key_buf_size = MBEDTLS_LMS_PUBLIC_KEY_LEN(MBEDTLS_LMS_SHA256_M32_H10) + 1; + ASSERT_ALLOC( exported_pub_key, exported_pub_key_buf_size); + TEST_EQUAL( mbedtls_lms_export_public_key( &ctx, exported_pub_key, + exported_pub_key_buf_size, NULL ), + 0 ); + mbedtls_free(exported_pub_key); + exported_pub_key = NULL; } exit: