[master] bee05daeb Use VSA_getpeername() - avoid sockaddr_storage
Nils Goroll
nils.goroll at uplex.de
Fri Jan 8 16:54:08 UTC 2021
commit bee05daeb1050e6087b9e8380cec3c5bed80ef47
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Fri Jan 8 16:54:50 2021 +0100
Use VSA_getpeername() - avoid sockaddr_storage
diff --git a/lib/libvarnish/vtcp.c b/lib/libvarnish/vtcp.c
index 61b580e67..9f2629de6 100644
--- a/lib/libvarnish/vtcp.c
+++ b/lib/libvarnish/vtcp.c
@@ -126,12 +126,12 @@ VTCP_myname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned plen)
void
VTCP_hisname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned plen)
{
- struct sockaddr_storage addr_s;
- socklen_t l;
+ char buf[vsa_suckaddr_len];
+ struct suckaddr *sua;
- l = sizeof addr_s;
- if (!getpeername(sock, (void*)&addr_s, &l))
- vtcp_sa_to_ascii(&addr_s, l, abuf, alen, pbuf, plen);
+ sua = VSA_getpeername(sock, buf, sizeof buf);
+ if (sua != NULL)
+ VTCP_name(sua, abuf, alen, pbuf, plen);
else {
(void)snprintf(abuf, alen, "<none>");
(void)snprintf(pbuf, plen, "<none>");
More information about the varnish-commit
mailing list