Updated server-Object_Types patchset.

Don't grab type object in get_object_type().
This commit is contained in:
Paul Gofman 2020-10-06 23:36:25 +03:00
parent 87a40ed683
commit df02967431

View File

@ -1,4 +1,4 @@
From 64928073fc2e463fa9f637a9a1bcddfaeb5a55c6 Mon Sep 17 00:00:00 2001
From dfb9f91425d239620669215e9c914fbb1288dc4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Wed, 8 Mar 2017 17:41:11 +0100
Subject: [PATCH] ntdll: Set TypeIndex for ObjectTypeInformation in
@ -11,10 +11,10 @@ Subject: [PATCH] ntdll: Set TypeIndex for ObjectTypeInformation in
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
index e18daaea5ca..ece09c12f77 100644
index 93678aa70e5..d72a8370500 100644
--- a/dlls/ntdll/unix/file.c
+++ b/dlls/ntdll/unix/file.c
@@ -6589,6 +6589,10 @@ NTSTATUS WINAPI NtQueryObject( HANDLE handle, OBJECT_INFORMATION_CLASS info_clas
@@ -7554,6 +7554,10 @@ NTSTATUS WINAPI NtQueryObject( HANDLE handle, OBJECT_INFORMATION_CLASS info_clas
p->TypeName.Buffer[res / sizeof(WCHAR)] = 0;
if (used_len) *used_len = sizeof(*p) + p->TypeName.MaximumLength;
}
@ -26,7 +26,7 @@ index e18daaea5ca..ece09c12f77 100644
}
SERVER_END_REQ;
diff --git a/server/directory.c b/server/directory.c
index 65357e7f2e3..c752a652d49 100644
index 65357e7f2e3..99eafb9c53a 100644
--- a/server/directory.c
+++ b/server/directory.c
@@ -44,6 +44,7 @@
@ -43,7 +43,7 @@ index 65357e7f2e3..c752a652d49 100644
assert( object_type_count < ARRAY_SIZE(object_type_list) );
- object_type_list[ object_type_count++ ] = (struct object_type *)grab_object( type );
+ type->index = object_type_count++;
+ object_type_list[ type->index ] = (struct object_type *)grab_object( type );
+ object_type_list[ type->index ] = (struct object_type *)type;
}
clear_error();
}
@ -56,10 +56,10 @@ index 65357e7f2e3..c752a652d49 100644
}
release_object( obj );
diff --git a/server/protocol.def b/server/protocol.def
index 9bc4ba12042..b52321ed519 100644
index 8956e7175bf..9102f557e38 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3334,6 +3334,7 @@ struct handle_info
@@ -3319,6 +3319,7 @@ struct handle_info
@REQ(get_object_type)
obj_handle_t handle; /* handle to the object */
@REPLY
@ -68,5 +68,5 @@ index 9bc4ba12042..b52321ed519 100644
VARARG(type,unicode_str); /* type name */
@END
--
2.28.0
2.26.2