Calculate length of AF_UNIX addr struct portably in getsockaddrarg().
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index b77bdac..1c53d72 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -373,7 +373,7 @@
 		memcpy(addr->sun_path, path, len);
 		addr->sun_path[len] = 0;
 		*addr_ret = (struct sockaddr *) addr;
-		*len_ret = len + sizeof addr->sun_family;
+		*len_ret = len + sizeof(*addr) - sizeof(addr->sun_path);
 		return 1;
 	}
 #endif /* AF_UNIX */