ntdll: Fixed returned status for NtQueryThreadInformation's ThreadDescriptorTable
(spotted by Peter Oberndorfer).
This commit is contained in:
parent
9bf5140575
commit
5b1f3b14ca
|
@ -1150,7 +1150,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
|
||||||
if (!status)
|
if (!status)
|
||||||
{
|
{
|
||||||
if (!(reply->flags & WINE_LDT_FLAGS_ALLOCATED))
|
if (!(reply->flags & WINE_LDT_FLAGS_ALLOCATED))
|
||||||
status = STATUS_INVALID_LDT_OFFSET;
|
status = STATUS_ACCESS_VIOLATION;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wine_ldt_set_base ( &tdi->Entry, (void *)reply->base );
|
wine_ldt_set_base ( &tdi->Entry, (void *)reply->base );
|
||||||
|
@ -1161,7 +1161,9 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
|
||||||
}
|
}
|
||||||
SERVER_END_REQ;
|
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
|
#else
|
||||||
status = STATUS_NOT_IMPLEMENTED;
|
status = STATUS_NOT_IMPLEMENTED;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -445,7 +445,7 @@ void get_selector_entry( struct thread *thread, int entry, unsigned int *base,
|
||||||
}
|
}
|
||||||
if (entry >= 8192)
|
if (entry >= 8192)
|
||||||
{
|
{
|
||||||
set_error( STATUS_INVALID_PARAMETER ); /* FIXME */
|
set_error( STATUS_ACCESS_VIOLATION );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (suspend_for_ptrace( thread ))
|
if (suspend_for_ptrace( thread ))
|
||||||
|
|
Loading…
Reference in New Issue