ntdll: Fixed returned status for NtQueryThreadInformation's ThreadDescriptorTable

(spotted by Peter Oberndorfer).
This commit is contained in:
Eric Pouech 2006-11-04 11:52:44 +01:00 committed by Alexandre Julliard
parent 9bf5140575
commit 5b1f3b14ca
2 changed files with 5 additions and 3 deletions

View File

@ -1150,7 +1150,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
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 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
}
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

View File

@ -445,7 +445,7 @@ void get_selector_entry( struct thread *thread, int entry, unsigned int *base,
}
if (entry >= 8192)
{
set_error( STATUS_INVALID_PARAMETER ); /* FIXME */
set_error( STATUS_ACCESS_VIOLATION );
return;
}
if (suspend_for_ptrace( thread ))