Module: wine Branch: master Commit: 93e8bea2bd9cf06faebdd0407dacde6c46b98a63 URL: http://source.winehq.org/git/wine.git/?a=commit;h=93e8bea2bd9cf06faebdd0407d...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Fri Aug 21 12:14:15 2015 +0800
server: Add implicit THREAD_[QUERY|SET]_LIMITED_INFORMATION access.
---
server/thread.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/server/thread.c b/server/thread.c index e1696ba..9df2da6 100644 --- a/server/thread.c +++ b/server/thread.c @@ -338,11 +338,15 @@ static int thread_signaled( struct object *obj, struct wait_queue_entry *entry )
static unsigned int thread_map_access( struct object *obj, unsigned int access ) { - if (access & GENERIC_READ) access |= STANDARD_RIGHTS_READ | THREAD_QUERY_INFORMATION | THREAD_GET_CONTEXT | THREAD_QUERY_LIMITED_INFORMATION; + if (access & GENERIC_READ) access |= STANDARD_RIGHTS_READ | THREAD_QUERY_INFORMATION | THREAD_GET_CONTEXT; if (access & GENERIC_WRITE) access |= STANDARD_RIGHTS_WRITE | THREAD_SET_INFORMATION | THREAD_SET_CONTEXT | - THREAD_TERMINATE | THREAD_SUSPEND_RESUME | THREAD_SET_LIMITED_INFORMATION; + THREAD_TERMINATE | THREAD_SUSPEND_RESUME; if (access & GENERIC_EXECUTE) access |= STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE | THREAD_QUERY_LIMITED_INFORMATION; if (access & GENERIC_ALL) access |= THREAD_ALL_ACCESS; + + if (access & THREAD_QUERY_INFORMATION) access |= THREAD_QUERY_LIMITED_INFORMATION; + if (access & THREAD_SET_INFORMATION) access |= THREAD_SET_LIMITED_INFORMATION; + return access & ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL); }