From 0a7c7e8c288300f15cea0477d5d692f652f5f44b Mon Sep 17 00:00:00 2001
From: Thomas Munro <thomas.munro@gmail.com>
Date: Tue, 23 Aug 2022 13:16:54 +1200
Subject: [PATCH] Don't bother to set sockaddr_un.sun_len.

There are no known systems that require you to fill in sun_len when
calling bind() or connect().  We might as well stop perpetuating this
obsolete practice.

Discussion: https://postgr.es/m/2781112.1644819528%40sss.pgh.pa.us
---
 src/common/ip.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/src/common/ip.c b/src/common/ip.c
index 9b611cdc8c..6343f49a70 100644
--- a/src/common/ip.c
+++ b/src/common/ip.c
@@ -218,20 +218,6 @@ getaddrinfo_unix(const char *path, const struct addrinfo *hintsp,
 		aip->ai_addrlen = offsetof(struct sockaddr_un, sun_path) + strlen(path);
 	}
 
-	/*
-	 * The standard recommendation for filling sun_len is to set it to the
-	 * struct size (independently of the actual path length).  However, that
-	 * draws an integer-overflow warning on AIX 7.1, where sun_len is just
-	 * uint8 yet the struct size exceeds 255 bytes.  It's likely that nothing
-	 * is paying attention to sun_len on that platform, but we have to do
-	 * something with it.  To suppress the warning, clamp the struct size to
-	 * what will fit in sun_len.
-	 */
-#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN
-	unp->sun_len = Min(sizeof(struct sockaddr_un),
-					   ((size_t) 1 << (sizeof(unp->sun_len) * BITS_PER_BYTE)) - 1);
-#endif
-
 	return 0;
 }
 
-- 
2.35.1

