Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Mar 2019 03:03:25 +0000 (UTC)
From:      Enji Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r345214 - projects/capsicum-test/contrib/capsicum-test
Message-ID:  <201903160303.x2G33PRT067205@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Sat Mar 16 03:03:25 2019
New Revision: 345214
URL: https://svnweb.freebsd.org/changeset/base/345214

Log:
  Fix a -Wcast-align issue by using memcpy to save/restore the value from `CMSG_DATA(..)`

Modified:
  projects/capsicum-test/contrib/capsicum-test/capability-fd.cc

Modified: projects/capsicum-test/contrib/capsicum-test/capability-fd.cc
==============================================================================
--- projects/capsicum-test/contrib/capsicum-test/capability-fd.cc	Fri Mar 15 23:55:41 2019	(r345213)
+++ projects/capsicum-test/contrib/capsicum-test/capability-fd.cc	Sat Mar 16 03:03:25 2019	(r345214)
@@ -982,12 +982,14 @@ FORK_TEST_ON(Capability, SocketTransfer, TmpFile("cap_
     // Child: enter cap mode
     EXPECT_OK(cap_enter());
 
+    int cap_fd;
+
     // Child: wait to receive FD over socket
     int rc = recvmsg(sock_fds[0], &mh, 0);
     EXPECT_OK(rc);
     EXPECT_LE(CMSG_LEN(sizeof(int)), mh.msg_controllen);
     cmptr = CMSG_FIRSTHDR(&mh);
-    int cap_fd = *(int*)CMSG_DATA(cmptr);
+    memcpy(&cap_fd, CMSG_DATA(cmptr), sizeof(int));
     EXPECT_EQ(CMSG_LEN(sizeof(int)), cmptr->cmsg_len);
     cmptr = CMSG_NXTHDR(&mh, cmptr);
     EXPECT_TRUE(cmptr == NULL);
@@ -1022,7 +1024,7 @@ FORK_TEST_ON(Capability, SocketTransfer, TmpFile("cap_
   cmptr->cmsg_level = SOL_SOCKET;
   cmptr->cmsg_type = SCM_RIGHTS;
   cmptr->cmsg_len = CMSG_LEN(sizeof(int));
-  *(int *)CMSG_DATA(cmptr) = cap_fd;
+  memcpy(CMSG_DATA(cmptr), &cap_fd, sizeof(int));
   buffer1[0] = 0;
   iov[0].iov_len = 1;
   sleep(3);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903160303.x2G33PRT067205>