diff options
author | Olivier CrĂȘte <olivier.crete@collabora.com> | 2018-05-04 16:50:45 +0200 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2018-05-04 16:50:45 +0200 |
commit | 34d60446ddfcdb98f2543611151ef8fbc5be4805 (patch) | |
tree | 4d60bf18a360e896e3408ee3dd390219efdb878b | |
parent | 3a9d92818b4c2f083e26fe164a1be82212bd4061 (diff) | |
download | libnice-34d60446ddfcdb98f2543611151ef8fbc5be4805.tar.gz |
stund: Pass sockaddr_storage size for both families
-rw-r--r-- | stun/tools/stund.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/stun/tools/stund.c b/stun/tools/stund.c index c148e51..00a0881 100644 --- a/stun/tools/stund.c +++ b/stun/tools/stund.c @@ -100,15 +100,12 @@ int listen_socket (int fam, int type, int proto, unsigned int port) struct sockaddr_in6 in6; struct sockaddr_storage storage; } addr; - int len; if (fd == -1) { perror ("Error opening IP port"); return -1; } - if (fd < 3) - goto error; memset (&addr, 0, sizeof (addr)); addr.storage.ss_family = fam; @@ -120,7 +117,6 @@ int listen_socket (int fam, int type, int proto, unsigned int port) { case AF_INET: addr.in.sin_port = htons (port); - len = sizeof (struct sockaddr_in); break; case AF_INET6: @@ -128,14 +124,13 @@ int listen_socket (int fam, int type, int proto, unsigned int port) setsockopt (fd, SOL_IPV6, IPV6_V6ONLY, &yes, sizeof (yes)); #endif addr.in6.sin6_port = htons (port); - len = sizeof (struct sockaddr_in6); break; default: assert (0); /* should never be reached */ } - if (bind (fd, &addr.addr, len)) + if (bind (fd, &addr.addr, sizeof (struct sockaddr_storage))) { perror ("Error opening IP port"); goto error; @@ -192,7 +187,7 @@ static int dgram_process (int sock, StunAgent *oldagent, StunAgent *newagent) StunValidationStatus validation; StunAgent *agent = NULL; - addr_len = sizeof (struct sockaddr_in); + addr_len = sizeof (struct sockaddr_storage); len = recvfrom (sock, buf, sizeof(buf), 0, &addr.addr, &addr_len); if (len == (size_t)-1) return -1; |