s3-aio-fork: Fix an alignment warning on OS/X
authorVolker Lendecke <vl@samba.org>
Sat, 31 Mar 2012 08:37:15 +0000 (10:37 +0200)
committerVolker Lendecke <vl@samba.org>
Sat, 31 Mar 2012 11:51:17 +0000 (13:51 +0200)
source3/modules/vfs_aio_fork.c

index 27f71165cf98c1e83d81d8ed64306d45e656946a..16a1301c5e3c8a7e5ba12d32ece527e948e8315c 100644 (file)
@@ -165,7 +165,7 @@ static ssize_t read_fd(int fd, void *ptr, size_t nbytes, int *recvfd)
                        errno = EINVAL;
                        return -1;
                }
-               *recvfd = *((int *) CMSG_DATA(cmptr));
+               memcpy(recvfd, CMSG_DATA(cmptr), sizeof(*recvfd));
        } else {
                *recvfd = -1;           /* descriptor was not passed */
        }
@@ -203,7 +203,7 @@ static ssize_t write_fd(int fd, void *ptr, size_t nbytes, int sendfd)
        cmptr->cmsg_len = CMSG_LEN(sizeof(int));
        cmptr->cmsg_level = SOL_SOCKET;
        cmptr->cmsg_type = SCM_RIGHTS;
-       *((int *) CMSG_DATA(cmptr)) = sendfd;
+       memcpy(CMSG_DATA(cmptr), &sendfd, sizeof(sendfd));
 #else
        ZERO_STRUCT(msg);
        msg.msg_accrights = (caddr_t) &sendfd;