Add stacktrave.h, sanitize p3LinkMgrIMPL::retryConnectTCP avoid to look for port on null sockaddr_storage

This commit is contained in:
Gio 2015-12-31 15:42:22 +01:00
parent 69f6bd0ea9
commit ed7f958f95
4 changed files with 46 additions and 98 deletions

View file

@ -29,6 +29,7 @@
#include "util/rsnet.h"
#include "util/rsstring.h"
#include "pqi/pqinetwork.h"
#include "util/stacktrace.h"
/***************************** Internal Helper Fns ******************************/
@ -186,13 +187,12 @@ uint16_t sockaddr_storage_port(const struct sockaddr_storage &addr)
{
case AF_INET:
return sockaddr_storage_ipv4_port(addr);
break;
case AF_INET6:
return sockaddr_storage_ipv6_port(addr);
break;
default:
std::cerr << "sockaddr_storage_port() invalid addr.ss_family" << std::endl;
sockaddr_storage_dump(addr);
print_stacktrace();
break;
}
return 0;
@ -508,22 +508,19 @@ bool sockaddr_storage_isnull(const struct sockaddr_storage &addr)
bool sockaddr_storage_isValidNet(const struct sockaddr_storage &addr)
{
#ifdef SS_DEBUG
std::cerr << "sockaddr_storage_isValidNet()";
std::cerr << std::endl;
std::cerr << "sockaddr_storage_isValidNet()" << std::endl;
#endif
switch(addr.ss_family)
{
case AF_INET:
return sockaddr_storage_ipv4_isValidNet(addr);
break;
case AF_INET6:
return sockaddr_storage_ipv6_isValidNet(addr);
break;
default:
#ifdef SS_DEBUG
std::cerr << "sockaddr_storage_isValidNet() INVALID Family - error: " << sockaddr_storage_iptostring(addr);
std::cerr << std::endl;
std::cerr << "sockaddr_storage_isValidNet() INVALID Family" << std::endl;
sockaddr_storage_dump(addr);
#endif
break;
}