Merge pull request #7054 from VeijoPesonen/gethostbyname_empty_hostname_check

gethostbyname must reject empty name
pull/7075/head
Cruz Monrreal 2018-05-31 10:11:00 -05:00 committed by GitHub
commit 98a27a687f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 0 deletions

View File

@ -90,6 +90,7 @@ Case cases[] = {
Case("UDPSOCKET_OPEN_LIMIT", UDPSOCKET_OPEN_LIMIT),
Case("UDPSOCKET_SENDTO_TIMEOUT", UDPSOCKET_SENDTO_TIMEOUT),
#ifdef MBED_EXTENDED_TESTS
Case("UDPSOCKET_SENDTO_INVALID", UDPSOCKET_SENDTO_INVALID),
Case("UDPSOCKET_ECHOTEST", UDPSOCKET_ECHOTEST),
Case("UDPSOCKET_ECHOTEST_BURST", UDPSOCKET_ECHOTEST_BURST),
Case("UDPSOCKET_ECHOTEST_BURST_NONBLOCK", UDPSOCKET_ECHOTEST_BURST_NONBLOCK),

View File

@ -28,6 +28,10 @@ const char *NetworkStack::get_ip_address()
}
nsapi_error_t NetworkStack::gethostbyname(const char *name, SocketAddress *address, nsapi_version_t version)
{
if (name[0] == '\0') {
return NSAPI_ERROR_PARAMETER;
}
// check for simple ip addresses
if (address->set_ip_address(name)) {
if (version != NSAPI_UNSPEC && address->get_ip_version() != version) {
@ -53,6 +57,10 @@ nsapi_value_or_error_t NetworkStack::gethostbyname_async(const char *name, hostb
{
SocketAddress address;
if (name[0] == '\0') {
return NSAPI_ERROR_PARAMETER;
}
// check for simple ip addresses
if (address.set_ip_address(name)) {
if (version != NSAPI_UNSPEC && address.get_ip_version() != version) {