kernelbase: Fix GetSystemFirmwareTable regression.
Regression caused by 71aba33fc6
.
Signed-off-by: John Chadwick <john@jchw.io>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
2acbe4f096
commit
9021cca65d
|
@ -738,7 +738,6 @@ static void test_GetSystemFirmwareTable(void)
|
|||
|
||||
expected_len -= min_sfti_len;
|
||||
len = pGetSystemFirmwareTable(RSMB, 0, NULL, 0);
|
||||
todo_wine
|
||||
ok(len == expected_len, "Expected length %u, got %u\n", expected_len, len);
|
||||
|
||||
smbios_table = HeapAlloc(GetProcessHeap(), 0, expected_len);
|
||||
|
|
|
@ -1161,13 +1161,10 @@ UINT WINAPI GetSystemFirmwareTable( DWORD provider, DWORD id, void *buffer, DWOR
|
|||
info->Action = SystemFirmwareTable_Get;
|
||||
info->TableID = id;
|
||||
|
||||
if (set_ntstatus( NtQuerySystemInformation( SystemFirmwareTableInformation,
|
||||
info, buffer_size, &buffer_size )))
|
||||
{
|
||||
buffer_size -= offsetof( SYSTEM_FIRMWARE_TABLE_INFORMATION, TableBuffer );
|
||||
if (buffer_size <= size) memcpy( buffer, info->TableBuffer, buffer_size );
|
||||
}
|
||||
else buffer_size = 0;
|
||||
set_ntstatus( NtQuerySystemInformation( SystemFirmwareTableInformation,
|
||||
info, buffer_size, &buffer_size ));
|
||||
buffer_size -= offsetof( SYSTEM_FIRMWARE_TABLE_INFORMATION, TableBuffer );
|
||||
if (buffer_size <= size) memcpy( buffer, info->TableBuffer, buffer_size );
|
||||
|
||||
HeapFree( GetProcessHeap(), 0, info );
|
||||
return buffer_size;
|
||||
|
|
Loading…
Reference in New Issue