// We now get our external IP from the IRC server first and only use this as a backup
bool GetMyExternalIP(CNetAddr& ipRet)
{
- struct sockaddr_in mapped;
+ struct sockaddr_in mapped = {};
auto rnd = GetRand(numeric_limits<uint64_t>::max());
const char *srv;
int rc = GetExternalIPbySTUN(rnd, &mapped, &srv);
unsigned char reply_buf[1024];
fd_set rfds;
struct timeval to = { STUN_TIMEOUT, 0 };
- struct sockaddr_in src;
#ifdef WIN32
int srclen;
#else
res = select(sock + 1, &rfds, NULL, NULL, &to);
if (res <= 0) /* timeout or error */
return -11;
- memset(&src, 0, sizeof(src));
+ struct sockaddr_in src = {};
srclen = sizeof(src);
/* XXX pass -1 in the size, because stun_handle_packet might
* write past the end of the buffer.
0, (struct sockaddr *)&src, &srclen);
if (res <= 0)
return -12;
- memset(mapped, 0, sizeof(struct sockaddr_in));
return stun_handle_packet(sock, &src, reply_buf, res, stun_get_mapped, mapped);
} // StunRequest2
if (hostinfo == NULL)
return -1;
- struct sockaddr_in server, client;
- memset(&server, 0, sizeof(server));
- memset(&client, 0, sizeof(client));
- server.sin_family = client.sin_family = AF_INET;
-
- server.sin_addr = *(struct in_addr*) hostinfo->h_addr;
- server.sin_port = htons(port);
-
SOCKET sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (sock == INVALID_SOCKET)
return -2;
+ struct sockaddr_in server = {}, client = {};
+
+ server.sin_family = client.sin_family = AF_INET;
+ server.sin_addr = *(struct in_addr*) hostinfo->h_addr;
+ server.sin_port = htons(port);
client.sin_addr.s_addr = htonl(INADDR_ANY);
int rc = -3;