mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-30 00:00:16 +01:00
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.
This commit is contained in:
parent
2d086db6e8
commit
32cb5e1466
1 changed files with 2 additions and 5 deletions
|
@ -279,7 +279,7 @@ create_new_conn:
|
|||
lwsl_info("%s: %p: address %s:%u\n", __func__, wsi, ads, port);
|
||||
|
||||
n = lws_getaddrinfo46(wsi, ads, &result);
|
||||
|
||||
memset(&sa46, 0, sizeof(sa46));
|
||||
#ifdef LWS_WITH_IPV6
|
||||
if (wsi->ipv6) {
|
||||
struct sockaddr_in6 *sa6;
|
||||
|
@ -293,9 +293,6 @@ create_new_conn:
|
|||
}
|
||||
|
||||
sa6 = ((struct sockaddr_in6 *)result->ai_addr);
|
||||
|
||||
memset(&sa46, 0, sizeof(sa46));
|
||||
|
||||
sa46.sa6.sin6_family = AF_INET6;
|
||||
switch (result->ai_family) {
|
||||
case AF_INET:
|
||||
|
@ -375,7 +372,7 @@ create_new_conn:
|
|||
|
||||
sa46.sa4.sin_family = AF_INET;
|
||||
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)
|
||||
|
|
Loading…
Add table
Reference in a new issue