[exim-cvs] Pull strict-aliasing fix for sockaddr_46.

Pàgina inicial
Delete this message
Reply to this message
Autor: Exim Git Commits Mailing List
Data:  
A: exim-cvs
Assumpte: [exim-cvs] Pull strict-aliasing fix for sockaddr_46.
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