From 00c4fd137a952832e162deb4052627e66d6b5b5c Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Sat, 29 Dec 2018 21:27:24 +0000 Subject: [PATCH] More UTF-8 tests. --- test/unit/utf8.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/unit/utf8.c b/test/unit/utf8.c index 52c339983f..1982da87a9 100644 --- a/test/unit/utf8.c +++ b/test/unit/utf8.c @@ -425,6 +425,26 @@ void TEST_utf8_control_characters(void) } + +void TEST_utf8_mqtt_1_5_4_2(void) +{ + char buf[10] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', '\0'}; + + utf8_helper_len(buf, 9, MOSQ_ERR_SUCCESS); + + buf[3] = '\0'; + utf8_helper_len(buf, 9, MOSQ_ERR_MALFORMED_UTF8); +} + + +void TEST_utf8_mqtt_1_5_4_3(void) +{ + char buf[10] = {'a', 'b', 0xEF, 0xBB, 0xBF, 'f', 'g', 'h', 'i', '\0'}; + + utf8_helper_len(buf, 9, MOSQ_ERR_SUCCESS); +} + + /* ======================================================================== * TEST SUITE SETUP * ======================================================================== */ @@ -448,6 +468,8 @@ int init_utf8_tests(void) || !CU_add_test(test_suite, "UTF-8 overlong encoding", TEST_utf8_overlong_encoding) || !CU_add_test(test_suite, "UTF-8 illegal code positions", TEST_utf8_illegal_code_positions) || !CU_add_test(test_suite, "UTF-8 control characters", TEST_utf8_control_characters) + || !CU_add_test(test_suite, "UTF-8 MQTT-1.5.4-2", TEST_utf8_mqtt_1_5_4_2) + || !CU_add_test(test_suite, "UTF-8 MQTT-1.5.4-3", TEST_utf8_mqtt_1_5_4_3) ){ printf("Error adding UTF-8 CUnit tests.\n");