Gitweb:
http://git.exim.org/exim.git/commitdiff/52ba4661114d0a96c15f5f43bcb97ce89061f1b6
Commit: 52ba4661114d0a96c15f5f43bcb97ce89061f1b6
Parent: 5901f0abfe16545a81e820cd9816e830287776a7
Author: Phil Pennock <pdp@???>
AuthorDate: Wed Jul 6 11:19:17 2011 -0400
Committer: Phil Pennock <pdp@???>
CommitDate: Wed Jul 6 11:19:17 2011 -0400
Pull strict-aliasing fix for sockaddr_46.
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 | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/src/exim.h b/src/src/exim.h
index 566324b..e979175 100644
--- a/src/src/exim.h
+++ b/src/src/exim.h
@@ -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