ntdll: Fixed returned status for NtQueryThreadInformation's ThreadDescriptorTable
(spotted by Peter Oberndorfer).
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 151ff1e..43eb0cd 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -1150,7 +1150,7 @@
if (!status)
{
if (!(reply->flags & WINE_LDT_FLAGS_ALLOCATED))
- status = STATUS_INVALID_LDT_OFFSET;
+ status = STATUS_ACCESS_VIOLATION;
else
{
wine_ldt_set_base ( &tdi->Entry, (void *)reply->base );
@@ -1161,7 +1161,9 @@
}
SERVER_END_REQ;
}
- if (status == STATUS_SUCCESS && ret_len) *ret_len = sizeof(*tdi);
+ if (status == STATUS_SUCCESS && ret_len)
+ /* yes, that's a bit strange, but it's the way it is */
+ *ret_len = sizeof(LDT_ENTRY);
#else
status = STATUS_NOT_IMPLEMENTED;
#endif
diff --git a/server/ptrace.c b/server/ptrace.c
index ef72713..26a4042 100644
--- a/server/ptrace.c
+++ b/server/ptrace.c
@@ -445,7 +445,7 @@
}
if (entry >= 8192)
{
- set_error( STATUS_INVALID_PARAMETER ); /* FIXME */
+ set_error( STATUS_ACCESS_VIOLATION );
return;
}
if (suspend_for_ptrace( thread ))