From 4f89f24fbeb5ccfbd7077878a5342bf62f722917 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 29 Apr 2021 20:04:24 +0200 Subject: [PATCH] Cygwin: POSIX mq: only allo priority up to MQ_PRIO_MAX - 1 POSIX requires that message priorities range from 0 (low) to sysconf(_SC_MQ_PRIO_MAX) - 1 (high). Cygwin's mq_send erroneously allowed a message priority of sysconf(_SC_MQ_PRIO_MAX). Fix it. Signed-off-by: Corinna Vinschen --- winsup/cygwin/posix_ipc.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winsup/cygwin/posix_ipc.cc b/winsup/cygwin/posix_ipc.cc index eec9ffe63..c6a003c37 100644 --- a/winsup/cygwin/posix_ipc.cc +++ b/winsup/cygwin/posix_ipc.cc @@ -798,7 +798,7 @@ _mq_send (mqd_t mqd, const char *ptr, size_t len, unsigned int prio, set_errno (EBADF); __leave; } - if (prio > MQ_PRIO_MAX) + if (prio >= MQ_PRIO_MAX) { set_errno (EINVAL); __leave;