summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/CTest/Curl/if2ip.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/CTest/Curl/if2ip.c b/Source/CTest/Curl/if2ip.c
index 594e74c..8bccc94 100644
--- a/Source/CTest/Curl/if2ip.c
+++ b/Source/CTest/Curl/if2ip.c
@@ -111,8 +111,13 @@ char *Curl_if2ip(const char *interface, char *buf, int buf_size)
else {
struct in_addr in;
- struct sockaddr_in *s = (struct sockaddr_in *)&req.ifr_dstaddr;
- memcpy(&in, &(s->sin_addr.s_addr), sizeof(in));
+ union {
+ struct sockaddr_in *sin;
+ struct sockaddr *s;
+ } soadd;
+
+ soadd.s = &req.ifr_dstaddr;
+ memcpy(&in, &(soadd.sin->sin_addr.s_addr), sizeof(in));
#if defined(HAVE_INET_NTOA_R)
ip = inet_ntoa_r(in,buf,buf_size);
#else