[newlib-cygwin] Cygwin: POSIX mq: only allo priority up to MQ_PRIO_MAX - 1

Corinna Vinschen corinna@sourceware.org
Thu Apr 29 18:14:22 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=4f89f24fbeb5ccfbd7077878a5342bf62f722917

commit 4f89f24fbeb5ccfbd7077878a5342bf62f722917
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Thu Apr 29 20:04:24 2021 +0200

    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 <corinna@vinschen.de>

Diff:
---
 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;


More information about the Cygwin-cvs mailing list