Pull strict-aliasing fix for sockaddr_46.
authorPhil Pennock <pdp@exim.org>
Wed, 6 Jul 2011 15:19:17 +0000 (11:19 -0400)
committerPhil Pennock <pdp@exim.org>
Wed, 6 Jul 2011 15:19:17 +0000 (11:19 -0400)
One-line code change in unattributed .patch file bundled in someone's
.src.rpm.

We cause plenty of warnings for -Wstrict-aliasing=2, most appear to be
signed/unsigned char issues.

src/src/exim.h

index 566324ba2e61d0da275cc356c0595e7175f24266..e979175d178dfc50af2a8908f1444edb747a02f1 100644 (file)
@@ -477,13 +477,15 @@ requires various things that are set therein. */
 #endif
 
 /* Define a union to hold either an IPv4 or an IPv6 sockaddr structure; this
-simplifies some of the coding. */
+simplifies some of the coding.  We include the sockaddr to reduce type-punning
+issues in C99. */
 
 union sockaddr_46 {
   struct sockaddr_in v4;
   #if HAVE_IPV6
   struct sockaddr_in6 v6;
   #endif
+  struct sockaddr v0;
 };
 
 /* If SUPPORT_TLS is not defined, ensure that USE_GNUTLS is also not defined