Skip to content

Commit 3c6e2cf

Browse files
author
Alejandro Martinez
committed
Added unittests for invalid ascii control chars
1 parent da4fd67 commit 3c6e2cf

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

test/unittest/readertest.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,8 @@ TEST(Reader, ParseString_Error) {
725725

726726
// Malform ASCII sequence
727727
TEST_STRINGENCODING_ERROR(ASCII<>, UTF8<>, char, ARRAY('[', '\"', char(0x80u), '\"', ']', '\0'));
728+
TEST_STRINGENCODING_ERROR(ASCII<>, UTF8<>, char, ARRAY('[', '\"', char(0x01u), '\"', ']', '\0'));
729+
TEST_STRINGENCODING_ERROR(ASCII<>, UTF8<>, char, ARRAY('[', '\"', char(0x1Cu), '\"', ']', '\0'));
728730

729731
#undef ARRAY
730732
#undef TEST_STRINGARRAY_ERROR

test/unittest/writertest.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,16 @@ TEST(Writer, InvalidEncoding) {
401401
static const UTF32<>::Ch s[] = { 0x110000, 0 }; // Out of U+0000 to U+10FFFF
402402
EXPECT_FALSE(writer.String(s));
403403
}
404+
405+
// Fail in decoding invalid ASCII control bytes
406+
{
407+
GenericStringBuffer<UTF16<> > buffer;
408+
Writer<GenericStringBuffer<UTF16<> >, UTF8<>, UTF16<> > writer(buffer);
409+
writer.StartArray();
410+
EXPECT_FALSE(writer.String("\x01"));
411+
EXPECT_FALSE(writer.String("\x1C"));
412+
writer.EndArray();
413+
}
404414
}
405415

406416
TEST(Writer, ValidateEncoding) {

0 commit comments

Comments
 (0)