summaryrefslogtreecommitdiffstats
path: root/sys/kern/sysv_msg.c
diff options
context:
space:
mode:
authormaxim <maxim@FreeBSD.org>2002-12-15 09:41:46 +0000
committermaxim <maxim@FreeBSD.org>2002-12-15 09:41:46 +0000
commit523771c06acff197263964274492a9ba7ba01c6c (patch)
tree944810df24097bdb5d0b63804706c73f184349cb /sys/kern/sysv_msg.c
parentc2efb986aa7a9448a5b0efbbf48d022f86f9c3ba (diff)
downloadFreeBSD-src-523771c06acff197263964274492a9ba7ba01c6c.zip
FreeBSD-src-523771c06acff197263964274492a9ba7ba01c6c.tar.gz
o Clear a high bit of ipc_perm.seq so msgget(3) never returns a
negative message queue id. PR: kern/46122 Submitted by: Vladimir B.Grebenschikov <vova@sw.ru> MFC after: 2 weeks
Diffstat (limited to 'sys/kern/sysv_msg.c')
-rw-r--r--sys/kern/sysv_msg.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/sysv_msg.c b/sys/kern/sysv_msg.c
index 86c6b80..d85cf29 100644
--- a/sys/kern/sysv_msg.c
+++ b/sys/kern/sysv_msg.c
@@ -538,7 +538,7 @@ msgget(td, uap)
msqptr->msg_perm.gid = cred->cr_gid;
msqptr->msg_perm.mode = (msgflg & 0777);
/* Make sure that the returned msqid is unique */
- msqptr->msg_perm.seq++;
+ msqptr->msg_perm.seq = (msqptr->msg_perm.seq + 1) & 0x7fff;
msqptr->msg_first = NULL;
msqptr->msg_last = NULL;
msqptr->msg_cbytes = 0;
OpenPOWER on IntegriCloud