DF-2795 / fix.diff
diff --git a/sys/kern/sysv_msg.c b/sys/kern/sysv_msg.c index 1111111..2222222 100644 --- a/sys/kern/sysv_msg.c +++ b/sys/kern/sysv_msg.c @@ -601,8 +601,10 @@ /* * Make sure that the msq queue still exists */ - if (msqptr->msg_qbytes == 0) { + if (msqptr->msg_qbytes == 0 || + msqptr->msg_perm.seq != + IPCID_TO_SEQ(uap->msqid)) { #ifdef MSG_DEBUG_OK kprintf("msqid deleted\n"); #endif |