|
38 | 38 | #include <boost/test/unit_test.hpp>
|
39 | 39 |
|
40 | 40 | using namespace std::literals;
|
| 41 | +static const std::string STRING_WITH_EMBEDDED_NULL_CHAR{"1"s "\0" "1"s}; |
41 | 42 |
|
42 | 43 | /* defined in logging.cpp */
|
43 | 44 | namespace BCLog {
|
@@ -1272,7 +1273,7 @@ BOOST_AUTO_TEST_CASE(util_ParseMoney)
|
1272 | 1273 |
|
1273 | 1274 | // Parsing strings with embedded NUL characters should fail
|
1274 | 1275 | BOOST_CHECK(!ParseMoney("\0-1"s, ret));
|
1275 |
| - BOOST_CHECK(!ParseMoney("\0" "1"s, ret)); |
| 1276 | + BOOST_CHECK(!ParseMoney(STRING_WITH_EMBEDDED_NULL_CHAR, ret)); |
1276 | 1277 | BOOST_CHECK(!ParseMoney("1\0"s, ret));
|
1277 | 1278 | }
|
1278 | 1279 |
|
@@ -1450,9 +1451,7 @@ BOOST_AUTO_TEST_CASE(test_ParseInt32)
|
1450 | 1451 | BOOST_CHECK(!ParseInt32("aap", &n));
|
1451 | 1452 | BOOST_CHECK(!ParseInt32("0x1", &n)); // no hex
|
1452 | 1453 | BOOST_CHECK(!ParseInt32("0x1", &n)); // no hex
|
1453 |
| - const char test_bytes[] = {'1', 0, '1'}; |
1454 |
| - std::string teststr(test_bytes, sizeof(test_bytes)); |
1455 |
| - BOOST_CHECK(!ParseInt32(teststr, &n)); // no embedded NULs |
| 1454 | + BOOST_CHECK(!ParseInt32(STRING_WITH_EMBEDDED_NULL_CHAR, &n)); |
1456 | 1455 | // Overflow and underflow
|
1457 | 1456 | BOOST_CHECK(!ParseInt32("-2147483649", nullptr));
|
1458 | 1457 | BOOST_CHECK(!ParseInt32("2147483648", nullptr));
|
@@ -1480,9 +1479,7 @@ BOOST_AUTO_TEST_CASE(test_ParseInt64)
|
1480 | 1479 | BOOST_CHECK(!ParseInt64("1a", &n));
|
1481 | 1480 | BOOST_CHECK(!ParseInt64("aap", &n));
|
1482 | 1481 | BOOST_CHECK(!ParseInt64("0x1", &n)); // no hex
|
1483 |
| - const char test_bytes[] = {'1', 0, '1'}; |
1484 |
| - std::string teststr(test_bytes, sizeof(test_bytes)); |
1485 |
| - BOOST_CHECK(!ParseInt64(teststr, &n)); // no embedded NULs |
| 1482 | + BOOST_CHECK(!ParseInt64(STRING_WITH_EMBEDDED_NULL_CHAR, &n)); |
1486 | 1483 | // Overflow and underflow
|
1487 | 1484 | BOOST_CHECK(!ParseInt64("-9223372036854775809", nullptr));
|
1488 | 1485 | BOOST_CHECK(!ParseInt64("9223372036854775808", nullptr));
|
@@ -1517,7 +1514,7 @@ BOOST_AUTO_TEST_CASE(test_ParseUInt8)
|
1517 | 1514 | BOOST_CHECK(!ParseUInt8("aap", &n));
|
1518 | 1515 | BOOST_CHECK(!ParseUInt8("0x1", &n)); // no hex
|
1519 | 1516 | BOOST_CHECK(!ParseUInt8("0x1", &n)); // no hex
|
1520 |
| - BOOST_CHECK(!ParseUInt8("1"s "\0" "1"s, &n)); // no embedded NULs |
| 1517 | + BOOST_CHECK(!ParseUInt8(STRING_WITH_EMBEDDED_NULL_CHAR, &n)); |
1521 | 1518 | // Overflow and underflow
|
1522 | 1519 | BOOST_CHECK(!ParseUInt8("-255", &n));
|
1523 | 1520 | BOOST_CHECK(!ParseUInt8("256", &n));
|
@@ -1555,9 +1552,7 @@ BOOST_AUTO_TEST_CASE(test_ParseUInt32)
|
1555 | 1552 | BOOST_CHECK(!ParseUInt32("aap", &n));
|
1556 | 1553 | BOOST_CHECK(!ParseUInt32("0x1", &n)); // no hex
|
1557 | 1554 | BOOST_CHECK(!ParseUInt32("0x1", &n)); // no hex
|
1558 |
| - const char test_bytes[] = {'1', 0, '1'}; |
1559 |
| - std::string teststr(test_bytes, sizeof(test_bytes)); |
1560 |
| - BOOST_CHECK(!ParseUInt32(teststr, &n)); // no embedded NULs |
| 1555 | + BOOST_CHECK(!ParseUInt32(STRING_WITH_EMBEDDED_NULL_CHAR, &n)); |
1561 | 1556 | // Overflow and underflow
|
1562 | 1557 | BOOST_CHECK(!ParseUInt32("-2147483648", &n));
|
1563 | 1558 | BOOST_CHECK(!ParseUInt32("4294967296", &n));
|
@@ -1586,9 +1581,7 @@ BOOST_AUTO_TEST_CASE(test_ParseUInt64)
|
1586 | 1581 | BOOST_CHECK(!ParseUInt64("1a", &n));
|
1587 | 1582 | BOOST_CHECK(!ParseUInt64("aap", &n));
|
1588 | 1583 | BOOST_CHECK(!ParseUInt64("0x1", &n)); // no hex
|
1589 |
| - const char test_bytes[] = {'1', 0, '1'}; |
1590 |
| - std::string teststr(test_bytes, sizeof(test_bytes)); |
1591 |
| - BOOST_CHECK(!ParseUInt64(teststr, &n)); // no embedded NULs |
| 1584 | + BOOST_CHECK(!ParseUInt64(STRING_WITH_EMBEDDED_NULL_CHAR, &n)); |
1592 | 1585 | // Overflow and underflow
|
1593 | 1586 | BOOST_CHECK(!ParseUInt64("-9223372036854775809", nullptr));
|
1594 | 1587 | BOOST_CHECK(!ParseUInt64("18446744073709551616", nullptr));
|
@@ -1618,9 +1611,7 @@ BOOST_AUTO_TEST_CASE(test_ParseDouble)
|
1618 | 1611 | BOOST_CHECK(!ParseDouble("1a", &n));
|
1619 | 1612 | BOOST_CHECK(!ParseDouble("aap", &n));
|
1620 | 1613 | BOOST_CHECK(!ParseDouble("0x1", &n)); // no hex
|
1621 |
| - const char test_bytes[] = {'1', 0, '1'}; |
1622 |
| - std::string teststr(test_bytes, sizeof(test_bytes)); |
1623 |
| - BOOST_CHECK(!ParseDouble(teststr, &n)); // no embedded NULs |
| 1614 | + BOOST_CHECK(!ParseDouble(STRING_WITH_EMBEDDED_NULL_CHAR, &n)); |
1624 | 1615 | // Overflow and underflow
|
1625 | 1616 | BOOST_CHECK(!ParseDouble("-1e10000", nullptr));
|
1626 | 1617 | BOOST_CHECK(!ParseDouble("1e10000", nullptr));
|
|
0 commit comments