Get rid of memset in stun.cpp
authorsvost <ya.nowa@yandex.ru>
Sun, 17 Apr 2016 11:45:29 +0000 (14:45 +0300)
committersvost <ya.nowa@yandex.ru>
Sun, 17 Apr 2016 11:45:29 +0000 (14:45 +0300)
src/net.cpp
src/stun.cpp

index 6aff9f9..cf0a438 100644 (file)
@@ -345,7 +345,7 @@ extern int GetExternalIPbySTUN(uint64_t rnd, struct sockaddr_in *mapped, const c
 // 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);
index 0162e14..4bcc514 100644 (file)
@@ -464,7 +464,6 @@ static int StunRequest2(int sock, struct sockaddr_in *server, struct sockaddr_in
     unsigned char reply_buf[1024];
     fd_set rfds;
     struct timeval to = { STUN_TIMEOUT, 0 };
-    struct sockaddr_in src;
 #ifdef WIN32
     int srclen;
 #else
@@ -479,7 +478,7 @@ static int StunRequest2(int sock, struct sockaddr_in *server, struct sockaddr_in
     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.
@@ -488,7 +487,6 @@ static int StunRequest2(int sock, struct sockaddr_in *server, struct sockaddr_in
                    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
 
@@ -497,18 +495,15 @@ static int StunRequest(const char *host, uint16_t port, struct sockaddr_in *mapp
     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;