Index: tests/kernel/t_sysv.c =================================================================== RCS file: /cvsroot/src/tests/kernel/t_sysv.c,v retrieving revision 1.2 diff -u -p -r1.2 t_sysv.c --- tests/kernel/t_sysv.c 6 Nov 2012 18:31:53 -0000 1.2 +++ tests/kernel/t_sysv.c 24 Jul 2013 06:29:05 -0000 @@ -252,11 +252,11 @@ ATF_TC_BODY(msg, tc) */ m.mtype = MTYPE_1; strcpy(m.mtext, m1_str); - ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, sizeof(m), 0) != -1, - "sender: msgsnd 1: %d", errno); + ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, MESSAGE_TEXT_LEN, + 0) != -1, "sender: msgsnd 1: %d", errno); - ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, sizeof(m), - MTYPE_1_ACK, 0) == sizeof(m), + ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, MESSAGE_TEXT_LEN, + MTYPE_1_ACK, 0) == MESSAGE_TEXT_LEN, "sender: msgrcv 1 ack: %d", errno); print_msqid_ds(&m_ds, 0600); @@ -266,11 +266,11 @@ ATF_TC_BODY(msg, tc) */ m.mtype = MTYPE_2; strcpy(m.mtext, m2_str); - ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, sizeof(m), 0) != -1, + ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, MESSAGE_TEXT_LEN, 0) != -1, "sender: msgsnd 2: %d", errno); - ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, sizeof(m), - MTYPE_2_ACK, 0) == sizeof(m), + ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, MESSAGE_TEXT_LEN, + MTYPE_2_ACK, 0) == MESSAGE_TEXT_LEN, "sender: msgrcv 2 ack: %d", errno); } @@ -361,7 +361,7 @@ receiver() /* * Receive the first message, print it, and send an ACK. */ - if (msgrcv(msqid, &m, sizeof(m), MTYPE_1, 0) != sizeof(m)) + if (msgrcv(msqid, &m, MESSAGE_TEXT_LEN, MTYPE_1, 0) != MESSAGE_TEXT_LEN) err(1, "receiver: msgrcv 1"); printf("%s\n", m.mtext); @@ -370,14 +370,14 @@ receiver() m.mtype = MTYPE_1_ACK; - if (msgsnd(msqid, &m, sizeof(m), 0) == -1) + if (msgsnd(msqid, &m, MESSAGE_TEXT_LEN, 0) == -1) err(1, "receiver: msgsnd ack 1"); /* * Receive the second message, print it, and send an ACK. */ - if (msgrcv(msqid, &m, sizeof(m), MTYPE_2, 0) != sizeof(m)) + if (msgrcv(msqid, &m, MESSAGE_TEXT_LEN, MTYPE_2, 0) != MESSAGE_TEXT_LEN) err(1, "receiver: msgrcv 2"); printf("%s\n", m.mtext); @@ -386,7 +386,7 @@ receiver() m.mtype = MTYPE_2_ACK; - if (msgsnd(msqid, &m, sizeof(m), 0) == -1) + if (msgsnd(msqid, &m, MESSAGE_TEXT_LEN, 0) == -1) err(1, "receiver: msgsnd ack 2"); } Index: tests/lib/libc/sys/t_msgrcv.c =================================================================== RCS file: /cvsroot/src/tests/lib/libc/sys/t_msgrcv.c,v retrieving revision 1.2 diff -u -p -r1.2 t_msgrcv.c --- tests/lib/libc/sys/t_msgrcv.c 11 Nov 2011 05:06:01 -0000 1.2 +++ tests/lib/libc/sys/t_msgrcv.c 24 Jul 2013 06:29:05 -0000 @@ -51,10 +51,11 @@ __RCSID("$NetBSD: t_msgrcv.c,v 1.2 2011/ #define MSG_MTYPE_1 0x41 #define MSG_MTYPE_2 0x42 #define MSG_MTYPE_3 0x43 +#define MSG_LEN 3 struct msg { long mtype; - char buf[3]; + char buf[MSG_LEN]; }; static void clean(void); @@ -83,8 +84,8 @@ ATF_TC_BODY(msgrcv_basic, tc) id = msgget(MSG_KEY, IPC_CREAT | 0600); ATF_REQUIRE(id != -1); - (void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT); - (void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT); + (void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT); + (void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT); ATF_CHECK(msg1.buf[0] == msg2.buf[0]); ATF_CHECK(msg1.buf[1] == msg2.buf[1]); @@ -118,7 +119,7 @@ ATF_TC_BODY(msgrcv_block, tc) if (pid == 0) { - if (msgrcv(id, &msg, sizeof(struct msg), MSG_MTYPE_1, 0) < 0) + if (msgrcv(id, &msg, MSG_LEN, MSG_MTYPE_1, 0) < 0) _exit(EXIT_FAILURE); _exit(EXIT_SUCCESS); @@ -129,7 +130,7 @@ ATF_TC_BODY(msgrcv_block, tc) * and hence kill(2) should fail with ESRCH. */ (void)sleep(1); - (void)msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT); + (void)msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT); (void)sleep(1); (void)kill(pid, SIGKILL); (void)wait(&sta); @@ -162,26 +163,26 @@ ATF_TC_BODY(msgrcv_err, tc) errno = 0; ATF_REQUIRE_ERRNO(ENOMSG, msgrcv(id, &msg, - sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1); + MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1); - ATF_REQUIRE(msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT) == 0); + ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0); errno = 0; ATF_REQUIRE_ERRNO(EFAULT, msgrcv(id, (void *)-1, - sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1); + MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1); errno = 0; ATF_REQUIRE_ERRNO(EINVAL, msgrcv(-1, &msg, - sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1); + MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1); errno = 0; ATF_REQUIRE_ERRNO(EINVAL, msgrcv(-1, &msg, SSIZE_MAX, MSG_MTYPE_1, IPC_NOWAIT) == -1); - ATF_REQUIRE(msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT) == 0); + ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0); errno = 0; @@ -212,14 +213,14 @@ ATF_TC_BODY(msgrcv_mtype, tc) id = msgget(MSG_KEY, IPC_CREAT | 0600); ATF_REQUIRE(id != -1); - (void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT); - (void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_2, IPC_NOWAIT); + (void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT); + (void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_2, IPC_NOWAIT); ATF_CHECK(msg1.buf[0] != msg2.buf[0]); /* Different mtype. */ ATF_CHECK(msg1.buf[1] != msg2.buf[1]); ATF_CHECK(msg1.buf[2] != msg2.buf[2]); - (void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT); + (void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT); ATF_CHECK(msg1.buf[0] == msg2.buf[0]); /* Same mtype. */ ATF_CHECK(msg1.buf[1] == msg2.buf[1]); @@ -253,8 +254,7 @@ ATF_TC_BODY(msgrcv_nonblock, tc) for (i = 0; i < n; i++) { - ATF_REQUIRE(msgsnd(id, &msg, - sizeof(struct msg), IPC_NOWAIT) == 0); + ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0); } pid = fork(); @@ -264,8 +264,8 @@ ATF_TC_BODY(msgrcv_nonblock, tc) while (i != 0) { - if (msgrcv(id, &msg, sizeof(struct msg), - MSG_MTYPE_1, IPC_NOWAIT) == -1) + if (msgrcv(id, &msg, MSG_LEN, MSG_MTYPE_1, + IPC_NOWAIT) == -1) _exit(EXIT_FAILURE); i--; @@ -300,9 +300,10 @@ ATF_TC_HEAD(msgrcv_truncate, tc) ATF_TC_BODY(msgrcv_truncate, tc) { +#define MSG_SMALLLEN 2 struct msgsmall { long mtype; - char buf[2]; + char buf[MSG_SMALLLEN]; }; struct msg msg1 = { MSG_MTYPE_1, { 'a', 'b', 'c' } }; @@ -312,8 +313,8 @@ ATF_TC_BODY(msgrcv_truncate, tc) id = msgget(MSG_KEY, IPC_CREAT | 0600); ATF_REQUIRE(id != -1); - (void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT); - (void)msgrcv(id, &msg2, sizeof(struct msgsmall), + (void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT); + (void)msgrcv(id, &msg2, MSG_SMALLLEN, MSG_MTYPE_1, IPC_NOWAIT | MSG_NOERROR); ATF_CHECK(msg1.buf[0] == msg2.buf[0]);