Skip to content
Snippets Groups Projects
Commit 54180552 authored by fanc's avatar fanc Committed by Andy Green
Browse files

client: confirm sin_zero actual size for platform

in some platform, the size of sa46.sa4.sin_zero is not 8, but 6, so use 8 will cause coredump.
parent 309d637d
No related branches found
No related tags found
No related merge requests found
...@@ -264,9 +264,10 @@ create_new_conn: ...@@ -264,9 +264,10 @@ create_new_conn:
* to whatever we decided to connect to * to whatever we decided to connect to
*/ */
lwsl_info("%s: %p: address %s\n", __func__, wsi, ads); lwsl_info("%s: %p: address %s\n", __func__, wsi, ads);
n = lws_getaddrinfo46(wsi, ads, &result); n = lws_getaddrinfo46(wsi, ads, &result);
memset(&sa46, 0, sizeof(sa46));
#ifdef LWS_WITH_IPV6 #ifdef LWS_WITH_IPV6
if (wsi->ipv6) { if (wsi->ipv6) {
...@@ -282,8 +283,6 @@ create_new_conn: ...@@ -282,8 +283,6 @@ create_new_conn:
sa6 = ((struct sockaddr_in6 *)result->ai_addr); sa6 = ((struct sockaddr_in6 *)result->ai_addr);
memset(&sa46, 0, sizeof(sa46));
sa46.sa6.sin6_family = AF_INET6; sa46.sa6.sin6_family = AF_INET6;
switch (result->ai_family) { switch (result->ai_family) {
case AF_INET: case AF_INET:
...@@ -363,7 +362,7 @@ create_new_conn: ...@@ -363,7 +362,7 @@ create_new_conn:
sa46.sa4.sin_family = AF_INET; sa46.sa4.sin_family = AF_INET;
sa46.sa4.sin_addr = *((struct in_addr *)p); sa46.sa4.sin_addr = *((struct in_addr *)p);
bzero(&sa46.sa4.sin_zero, 8); bzero(&sa46.sa4.sin_zero, sizeof(sa46.sa4.sin_zero));
} }
if (result) if (result)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment