mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-29 16:47:25 -04:00
fixed possible crash and return value in rsGetHostByName(), thanks to Kotyara for reporting this
This commit is contained in:
parent
4ab60219b2
commit
8b9c447063
1 changed files with 5 additions and 2 deletions
|
@ -81,15 +81,18 @@ bool rsGetHostByName(const std::string& hostname, in_addr& returned_addr)
|
||||||
addrinfo *info = NULL;
|
addrinfo *info = NULL;
|
||||||
int res = getaddrinfo(hostname.c_str(),NULL,NULL,&info) ;
|
int res = getaddrinfo(hostname.c_str(),NULL,NULL,&info) ;
|
||||||
|
|
||||||
|
bool ok = true;
|
||||||
if(res > 0 || info == NULL || info->ai_addr == NULL)
|
if(res > 0 || info == NULL || info->ai_addr == NULL)
|
||||||
{
|
{
|
||||||
std::cerr << "(EE) getaddrinfo returned error " << res << " on string \"" << hostname << "\"" << std::endl;
|
std::cerr << "(EE) getaddrinfo returned error " << res << " on string \"" << hostname << "\"" << std::endl;
|
||||||
returned_addr.s_addr = 0 ;
|
returned_addr.s_addr = 0 ;
|
||||||
|
ok = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
returned_addr.s_addr = ((sockaddr_in*)info->ai_addr)->sin_addr.s_addr ;
|
returned_addr.s_addr = ((sockaddr_in*)info->ai_addr)->sin_addr.s_addr ;
|
||||||
|
|
||||||
freeaddrinfo(info) ;
|
if(info)
|
||||||
|
freeaddrinfo(info) ;
|
||||||
|
|
||||||
#ifdef DEPRECATED_TO_REMOVE
|
#ifdef DEPRECATED_TO_REMOVE
|
||||||
#if defined(WINDOWS_SYS) || defined(__APPLE__) || defined(__HAIKU__)
|
#if defined(WINDOWS_SYS) || defined(__APPLE__) || defined(__HAIKU__)
|
||||||
|
@ -123,7 +126,7 @@ bool rsGetHostByName(const std::string& hostname, in_addr& returned_addr)
|
||||||
returned_addr.s_addr = *(unsigned long*) (result->h_addr);
|
returned_addr.s_addr = *(unsigned long*) (result->h_addr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return true ;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isValidNet(const struct in_addr *addr)
|
bool isValidNet(const struct in_addr *addr)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue