- All versions of Windows ignore the access rights of the passed in parent handle to RegCreateKey(Ex). - Add a test that shows this.
diff --git a/server/registry.c b/server/registry.c index 7546fa5..3ddeffa 100644 --- a/server/registry.c +++ b/server/registry.c
@@ -1690,7 +1690,8 @@ if (access & MAXIMUM_ALLOWED) access = KEY_ALL_ACCESS; /* FIXME: needs general solution */ reply->hkey = 0; if (!(name = copy_req_path( req->namelen, !req->parent ))) return; - if ((parent = get_hkey_obj( req->parent, KEY_CREATE_SUB_KEY ))) + /* NOTE: no access rights are required from the parent handle to create a key */ + if ((parent = get_hkey_obj( req->parent, 0 ))) { int flags = (req->options & REG_OPTION_VOLATILE) ? KEY_VOLATILE : KEY_DIRTY;