From 03481285aff8d0d5a993f1969fb87afc946e2a91 Mon Sep 17 00:00:00 2001 From: Shuo Wang abushwang@tencent.com Date: Thu, 2 Mar 2023 14:58:20 +0800 Subject: [PATCH] fix pthread_mutexattr_gettype always return 0 According to posix, pthread_mutexattr_gettype will return EINVAL when the value specified by attr is invalid. --- nptl/pthread_mutexattr_gettype.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nptl/pthread_mutexattr_gettype.c b/nptl/pthread_mutexattr_gettype.c index 21e0a9e946..ee5ee71a88 100644 --- a/nptl/pthread_mutexattr_gettype.c +++ b/nptl/pthread_mutexattr_gettype.c @@ -28,6 +28,9 @@ __pthread_mutexattr_gettype (const pthread_mutexattr_t *attr, int *kind) *kind = (iattr->mutexkind & ~PTHREAD_MUTEXATTR_FLAG_BITS & ~PTHREAD_MUTEX_NO_ELISION_NP); + if (kind < PTHREAD_MUTEX_NORMAL || kind > PTHREAD_MUTEX_ADAPTIVE_NP) + return EINVAL; + return 0; } versioned_symbol (libc, __pthread_mutexattr_gettype, -- 2.36.1