fix wrong namelen in getaddrname

This commit is contained in:
zhengjiebing 2024-01-08 15:31:14 +08:00
parent 3f70072b36
commit fd0efad0e0
2 changed files with 23 additions and 2 deletions

View File

@ -0,0 +1,17 @@
src/api/sockets.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/api/sockets.c b/src/api/sockets.c
index 15053b3..c987a2b 100644
--- a/src/api/sockets.c
+++ b/src/api/sockets.c
@@ -3020,7 +3020,8 @@ lwip_getaddrname(int s, struct sockaddr *name, socklen_t *namelen, u8_t local)
*namelen = saddr.sa.sa_len;
}
#else
- *namelen = LWIP_MIN(*namelen, sizeof(saddr));
+ u8_t sa_len = IP_IS_V4_VAL(naddr) ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6);
+ *namelen = LWIP_MIN(*namelen, sa_len);
#endif
MEMCPY(name, &saddr, *namelen);

View File

@ -4,7 +4,7 @@
Summary: lwip is a small independent implementation of the TCP/IP protocol suite
Name: lwip
Version: 2.1.3
Release: 105
Release: 106
License: BSD
URL: http://savannah.nongnu.org/projects/lwip/
Source0: http://download.savannah.nongnu.org/releases/lwip/%{name}-%{version}.zip
@ -114,6 +114,7 @@ Patch9096: 0097-Mod-the-issue-that-2w-connection-unable-to-establish.patch
Patch9097: 0098-remove-duplicate-lwip-log.patch
Patch9098: 0099-fix-rte_ring_create-time-consuming.patch
Patch9099: 0100-replace-qtuple-addr-with-gz_addr_t.patch
Patch9100: 0101-fix-wrong-namelen-in-getaddrname.patch
Patch6005: backport-tcp_in-fix-ooseq-update-error.patch
@ -146,7 +147,10 @@ cd %{_builddir}/%{name}-%{version}/src
%{_libdir}/liblwip.a
%changelog
* Tue Jan 02 2024 zhengjiebing <zhengjiebing@cmss.chinamobile.com> - 2.1.3-103
* Mon Jan 08 2024 zhengjiebing <zhengjiebing@cmss.chinamobile.com> - 2.1.3-106
- fix wrong namelen in lwip_getaddrname
* Tue Jan 02 2024 zhengjiebing <zhengjiebing@cmss.chinamobile.com> - 2.1.3-105
- replace qtuple addr with gz_addr_t
* Tue Jan 02 2024 jiangheng <jiangheng14@huawei.com> - 2.1.3-104