util: fix UTI_BytesToHex() to handle zero-length input

This commit is contained in:
Miroslav Lichvar
2020-09-30 14:07:04 +02:00
parent a655eab34f
commit 944cf6e318
2 changed files with 8 additions and 0 deletions

View File

@@ -330,9 +330,12 @@ void test_unit(void) {
TEST_CHECK(UTI_HexToBytes(buf, buf, sizeof (buf)) == 7);
TEST_CHECK(memcmp(buf, "\xAB\x12\x34\x56\x78\x00\x01", 7) == 0);
TEST_CHECK(UTI_BytesToHex("", 0, buf, 0) == 0);
TEST_CHECK(UTI_BytesToHex("\xAB\x12\x34\x56\x78\x00\x01", 7, buf, 14) == 0);
TEST_CHECK(UTI_BytesToHex("\xAB\x12\x34\x56\x78\x00\x01", 7, buf, 15) == 1);
TEST_CHECK(strcmp(buf, "AB123456780001") == 0);
TEST_CHECK(UTI_BytesToHex("\xAB\x12\x34\x56\x78\x00\x01", 0, buf, 15) == 1);
TEST_CHECK(strcmp(buf, "") == 0);
TEST_CHECK(snprintf(buf, sizeof (buf), "%s", "") < sizeof (buf));
TEST_CHECK(UTI_SplitString(buf, words, 3) == 0);