[ip6] add additional parse validation to Ip6::Address::FromString (#3830)

This commit is contained in:
Jonathan Hui
2019-05-16 21:39:32 -07:00
committed by GitHub
parent 4ee45b67d8
commit b7b0eecfe2
2 changed files with 22 additions and 0 deletions
+2
View File
@@ -328,6 +328,8 @@ otError Address::FromString(const char *aBuf)
VerifyOrExit(++count <= 4, error = OT_ERROR_PARSE);
}
VerifyOrExit(colonp || dst == endp, error = OT_ERROR_PARSE);
while (colonp && dst > colonp)
{
*endp-- = *dst--;
+20
View File
@@ -169,6 +169,26 @@ void TestIp6AddressFromString(void)
OT_ERROR_PARSE
},
// Invalid embedded IPv4 address.
{
".",
{0},
OT_ERROR_PARSE
},
// Invalid embedded IPv4 address.
{
":.",
{0},
OT_ERROR_PARSE
},
// Invalid embedded IPv4 address.
{
"::.",
{0},
OT_ERROR_PARSE
},
};
for (uint32_t index = 0; index < OT_ARRAY_LENGTH(testVectors); index++)