From e89cb907a2e2e9f64842d363c3e245418eabafcd Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Thu, 23 Aug 2012 15:50:50 +0200 Subject: [PATCH] unix: fix aliasing warnings in stream.c --- src/unix/stream.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/unix/stream.c b/src/unix/stream.c index f9fc7195..34411856 100644 --- a/src/unix/stream.c +++ b/src/unix/stream.c @@ -655,7 +655,13 @@ start: cmsg->cmsg_level = SOL_SOCKET; cmsg->cmsg_type = SCM_RIGHTS; cmsg->cmsg_len = msg.msg_controllen; - *(int*) CMSG_DATA(cmsg) = fd_to_send; + + /* silence aliasing warning */ + { + void* pv = CMSG_DATA(cmsg); + int* pi = pv; + *pi = fd_to_send; + } do { n = sendmsg(stream->fd, &msg, 0); @@ -909,7 +915,12 @@ static void uv__read(uv_stream_t* stream) { fprintf(stderr, "(libuv) ignoring extra FD received\n"); } - stream->accepted_fd = *(int *) CMSG_DATA(cmsg); + /* silence aliasing warning */ + { + void* pv = CMSG_DATA(cmsg); + int* pi = pv; + stream->accepted_fd = *pi; + } } else { fprintf(stderr, "ignoring non-SCM_RIGHTS ancillary data: %d\n",