diff options
author | Jan Engelhardt <[email protected]> | 2024-03-04 10:45:49 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2024-03-04 10:45:49 +0000 |
commit | c6b01fcc32956518ce010d4d367b844c006958d2 (patch) | |
tree | 3f7b4fdf40c8d4ca5d26825427c853b55e165c99 /tests | |
parent | url: add remark to documentation about hardcoded // substring (#293) (diff) | |
download | vmime-c6b01fcc32956518ce010d4d367b844c006958d2.tar.gz vmime-c6b01fcc32956518ce010d4d367b844c006958d2.zip |
url: repair off-by-one bug in extractHost (#297)
`hostPart[len]` is pointing to `]`, but we need to check the
char after that.
Fixes: v0.9.2-187-g874a1d8c
Diffstat (limited to 'tests')
-rw-r--r-- | tests/utility/urlTest.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/utility/urlTest.cpp b/tests/utility/urlTest.cpp index c792c772..aca8300e 100644 --- a/tests/utility/urlTest.cpp +++ b/tests/utility/urlTest.cpp @@ -35,7 +35,8 @@ VMIME_TEST_SUITE_BEGIN(urlTest) VMIME_TEST(testParse3) VMIME_TEST(testParse4) VMIME_TEST(testParse5) - VMIME_TEST(testParseIPv6) + VMIME_TEST(testParseIPv6Full) + VMIME_TEST(testParseIPv6NoPort) VMIME_TEST(testGenerate) VMIME_TEST(testUtilsEncode) VMIME_TEST(testUtilsDecode) @@ -202,7 +203,7 @@ VMIME_TEST_SUITE_BEGIN(urlTest) VASSERT_EQ("4", "myserver.com", u1.getHost()); } - void testParseIPv6() { + void testParseIPv6Full() { vmime::utility::url u1("", ""); @@ -214,6 +215,14 @@ VMIME_TEST_SUITE_BEGIN(urlTest) VASSERT_EQ("6", "/p", u1.getPath()); } + void testParseIPv6NoPort() { + + vmime::utility::url u1("", ""); + + VASSERT_EQ("1", true, parseHelper(u1, "http://[::1]/")); + VASSERT_EQ("2", "::1", u1.getHost()); + } + void testGenerate() { vmime::utility::url u1("proto", "host", 12345, "path", "user", "password"); |