Alexandre Julliard : ntdll/tests: Make sure buffer alignment is correct.
Alexandre Julliard
julliard at winehq.org
Wed Aug 26 10:44:35 CDT 2009
Module: wine
Branch: master
Commit: 86e4830040d79337eb30349ae019fbc19a97cf8e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=86e4830040d79337eb30349ae019fbc19a97cf8e
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Aug 26 11:52:39 2009 +0200
ntdll/tests: Make sure buffer alignment is correct.
---
dlls/ntdll/tests/info.c | 22 ++++++++++------------
1 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/dlls/ntdll/tests/info.c b/dlls/ntdll/tests/info.c
index f09acc9..ff61a2b 100644
--- a/dlls/ntdll/tests/info.c
+++ b/dlls/ntdll/tests/info.c
@@ -121,25 +121,23 @@ static void test_query_cpu(void)
static void test_query_performance(void)
{
NTSTATUS status;
- ULONG FullLength;
ULONG ReturnLength;
- SYSTEM_PERFORMANCE_INFORMATION spi;
- struct SPI_PLUS_EXTRA
- {
- SYSTEM_PERFORMANCE_INFORMATION spi;
- BYTE extra[2];
- } spi_plus_extra;
+ ULONGLONG buffer[sizeof(SYSTEM_PERFORMANCE_INFORMATION)/sizeof(ULONGLONG) + 1];
- status = pNtQuerySystemInformation(SystemPerformanceInformation, &spi, 0, &FullLength);
+ status = pNtQuerySystemInformation(SystemPerformanceInformation, buffer, 0, &ReturnLength);
ok( status == STATUS_INFO_LENGTH_MISMATCH, "Expected STATUS_INFO_LENGTH_MISMATCH, got %08x\n", status);
- status = pNtQuerySystemInformation(SystemPerformanceInformation, &spi, sizeof(spi), &ReturnLength);
+ status = pNtQuerySystemInformation(SystemPerformanceInformation, buffer,
+ sizeof(SYSTEM_PERFORMANCE_INFORMATION), &ReturnLength);
ok( status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got %08x\n", status);
- ok( sizeof(spi) == ReturnLength, "Inconsistent length %d\n", ReturnLength);
+ ok( ReturnLength == sizeof(SYSTEM_PERFORMANCE_INFORMATION), "Inconsistent length %d\n", ReturnLength);
- status = pNtQuerySystemInformation(SystemPerformanceInformation, &spi_plus_extra, sizeof(spi_plus_extra), &ReturnLength);
+ status = pNtQuerySystemInformation(SystemPerformanceInformation, buffer,
+ sizeof(SYSTEM_PERFORMANCE_INFORMATION) + 2, &ReturnLength);
ok( status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got %08x\n", status);
- ok( ReturnLength == min(FullLength, sizeof(spi_plus_extra)), "Inconsistent length %d\n", ReturnLength);
+ ok( ReturnLength == sizeof(SYSTEM_PERFORMANCE_INFORMATION) ||
+ ReturnLength == sizeof(SYSTEM_PERFORMANCE_INFORMATION) + 2,
+ "Inconsistent length %d\n", ReturnLength);
/* Not return values yet, as struct members are unknown */
}
More information about the wine-cvs
mailing list