11/*
2- * SPDX-FileCopyrightText: 2018-2024 Espressif Systems (Shanghai) CO LTD
2+ * SPDX-FileCopyrightText: 2018-2025 Espressif Systems (Shanghai) CO LTD
33 *
44 * SPDX-License-Identifier: Apache-2.0
55 */
@@ -41,18 +41,21 @@ int cs_create_ctrl_sock(int port)
4141
4242 int ret ;
4343 struct sockaddr_storage addr = {};
44+ socklen_t addr_len = 0 ;
4445#if IPV4_ENABLED
4546 struct sockaddr_in * addr4 = (struct sockaddr_in * )& addr ;
4647 addr4 -> sin_family = AF_INET ;
4748 addr4 -> sin_port = htons (port );
4849 inet_aton ("127.0.0.1" , & addr4 -> sin_addr );
50+ addr_len = sizeof (struct sockaddr_in );
4951#else
5052 struct sockaddr_in6 * addr6 = (struct sockaddr_in6 * )& addr ;
5153 addr6 -> sin6_family = AF_INET6 ;
5254 addr6 -> sin6_port = htons (port );
5355 inet6_aton ("::1" , & addr6 -> sin6_addr );
56+ addr_len = sizeof (struct sockaddr_in6 );
5457#endif
55- ret = bind (fd , (struct sockaddr * )& addr , sizeof ( addr ) );
58+ ret = bind (fd , (struct sockaddr * )& addr , addr_len );
5659 if (ret < 0 ) {
5760 close (fd );
5861 return -1 ;
@@ -69,18 +72,21 @@ int cs_send_to_ctrl_sock(int send_fd, int port, void *data, unsigned int data_le
6972{
7073 int ret ;
7174 struct sockaddr_storage to_addr = {};
75+ socklen_t addr_len = 0 ;
7276#if IPV4_ENABLED
7377 struct sockaddr_in * addr4 = (struct sockaddr_in * )& to_addr ;
7478 addr4 -> sin_family = AF_INET ;
7579 addr4 -> sin_port = htons (port );
7680 inet_aton ("127.0.0.1" , & addr4 -> sin_addr );
81+ addr_len = sizeof (struct sockaddr_in );
7782#else
7883 struct sockaddr_in6 * addr6 = (struct sockaddr_in6 * )& to_addr ;
7984 addr6 -> sin6_family = AF_INET6 ;
8085 addr6 -> sin6_port = htons (port );
8186 inet6_aton ("::1" , & addr6 -> sin6_addr );
87+ addr_len = sizeof (struct sockaddr_in6 );
8288#endif
83- ret = sendto (send_fd , data , data_len , 0 , (struct sockaddr * )& to_addr , sizeof ( to_addr ) );
89+ ret = sendto (send_fd , data , data_len , 0 , (struct sockaddr * )& to_addr , addr_len );
8490
8591 if (ret < 0 ) {
8692 return -1 ;
0 commit comments