advapi32/tests: Use CRT allocation functions.
This commit is contained in:
parent
74bf784b29
commit
ce6e298a68
6 changed files with 243 additions and 243 deletions
|
@ -1260,10 +1260,10 @@ static void test_container_sd(void)
|
|||
ok(err == ERROR_INSUFFICIENT_BUFFER || broken(err == ERROR_INVALID_PARAMETER), "got %lu\n", err);
|
||||
ok(len, "expected len > 0\n");
|
||||
|
||||
sd = HeapAlloc(GetProcessHeap(), 0, len);
|
||||
sd = malloc(len);
|
||||
ret = CryptGetProvParam(prov, PP_KEYSET_SEC_DESCR, (BYTE *)sd, &len, OWNER_SECURITY_INFORMATION);
|
||||
ok(ret, "got %lu\n", GetLastError());
|
||||
HeapFree(GetProcessHeap(), 0, sd);
|
||||
free(sd);
|
||||
|
||||
ret = CryptReleaseContext(prov, 0);
|
||||
ok(ret, "got %lu\n", GetLastError());
|
||||
|
|
|
@ -445,14 +445,14 @@ static void test_read(void)
|
|||
todo_wine
|
||||
ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
|
||||
|
||||
buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
|
||||
buf = malloc(sizeof(EVENTLOGRECORD));
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = ReadEventLogA(NULL, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
|
||||
0, buf, sizeof(EVENTLOGRECORD), &read, &needed);
|
||||
ok(!ret, "Expected failure\n");
|
||||
todo_wine
|
||||
ok(GetLastError() == ERROR_INVALID_HANDLE, "Expected ERROR_INVALID_HANDLE, got %ld\n", GetLastError());
|
||||
HeapFree(GetProcessHeap(), 0, buf);
|
||||
free(buf);
|
||||
|
||||
handle = OpenEventLogA(NULL, "Application");
|
||||
if (!handle && (GetLastError() == ERROR_ACCESS_DENIED || GetLastError() == RPC_S_SERVER_UNAVAILABLE))
|
||||
|
@ -463,7 +463,7 @@ static void test_read(void)
|
|||
ok(handle != NULL, "OpenEventLogA(Application) failed : %ld\n", GetLastError());
|
||||
|
||||
/* Show that we need the proper dwFlags with a (for the rest) proper call */
|
||||
buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
|
||||
buf = malloc(sizeof(EVENTLOGRECORD));
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = ReadEventLogA(handle, 0, 0, buf, sizeof(EVENTLOGRECORD), &read, &needed);
|
||||
|
@ -504,7 +504,7 @@ static void test_read(void)
|
|||
todo_wine
|
||||
ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, buf);
|
||||
free(buf);
|
||||
|
||||
/* First check if there are any records (in practice only on Wine: FIXME) */
|
||||
count = 0;
|
||||
|
@ -517,7 +517,7 @@ static void test_read(void)
|
|||
}
|
||||
|
||||
/* Get the buffer size for the first record */
|
||||
buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
|
||||
buf = malloc(sizeof(EVENTLOGRECORD));
|
||||
read = needed = 0xdeadbeef;
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
|
||||
|
@ -529,7 +529,7 @@ static void test_read(void)
|
|||
|
||||
/* Read the first record */
|
||||
toread = needed;
|
||||
buf = HeapReAlloc(GetProcessHeap(), 0, buf, toread);
|
||||
buf = realloc(buf, toread);
|
||||
read = needed = 0xdeadbeef;
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 0, buf, toread, &read, &needed);
|
||||
|
@ -538,7 +538,7 @@ static void test_read(void)
|
|||
broken(read < toread), /* NT4 wants a buffer size way bigger than just 1 record */
|
||||
"Expected the requested size to be read\n");
|
||||
ok(needed == 0, "Expected no extra bytes to be read\n");
|
||||
HeapFree(GetProcessHeap(), 0, buf);
|
||||
free(buf);
|
||||
|
||||
CloseEventLog(handle);
|
||||
}
|
||||
|
@ -785,7 +785,7 @@ static void test_readwrite(void)
|
|||
if (pCreateWellKnownSid)
|
||||
{
|
||||
sidsize = SECURITY_MAX_SID_SIZE;
|
||||
user = HeapAlloc(GetProcessHeap(), 0, sidsize);
|
||||
user = malloc(sidsize);
|
||||
SetLastError(0xdeadbeef);
|
||||
pCreateWellKnownSid(WinInteractiveSid, NULL, user, &sidsize);
|
||||
sidavailable = TRUE;
|
||||
|
@ -846,12 +846,12 @@ static void test_readwrite(void)
|
|||
ok(ret, "Expected success : %ld\n", GetLastError());
|
||||
|
||||
/* Needed to catch earlier Vista (with no ServicePack for example) */
|
||||
buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
|
||||
buf = malloc(sizeof(EVENTLOGRECORD));
|
||||
if (!(ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
|
||||
0, buf, sizeof(EVENTLOGRECORD), &read, &needed)) &&
|
||||
GetLastError() == ERROR_INSUFFICIENT_BUFFER)
|
||||
{
|
||||
buf = HeapReAlloc(GetProcessHeap(), 0, buf, needed);
|
||||
buf = realloc(buf, needed);
|
||||
ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
|
||||
0, buf, needed, &read, &needed);
|
||||
}
|
||||
|
@ -865,7 +865,7 @@ static void test_readwrite(void)
|
|||
if (record->EventType == EVENTLOG_SUCCESS)
|
||||
on_vista = TRUE;
|
||||
}
|
||||
HeapFree(GetProcessHeap(), 0, buf);
|
||||
free(buf);
|
||||
}
|
||||
|
||||
/* This will clear the eventlog. The record numbering for new
|
||||
|
@ -949,13 +949,13 @@ static void test_readwrite(void)
|
|||
size = 0;
|
||||
SetLastError(0xdeadbeef);
|
||||
pGetComputerNameExA(ComputerNameDnsFullyQualified, NULL, &size);
|
||||
localcomputer = HeapAlloc(GetProcessHeap(), 0, size);
|
||||
localcomputer = malloc(size);
|
||||
pGetComputerNameExA(ComputerNameDnsFullyQualified, localcomputer, &size);
|
||||
}
|
||||
else
|
||||
{
|
||||
size = MAX_COMPUTERNAME_LENGTH + 1;
|
||||
localcomputer = HeapAlloc(GetProcessHeap(), 0, size);
|
||||
localcomputer = malloc(size);
|
||||
GetComputerNameA(localcomputer, &size);
|
||||
}
|
||||
|
||||
|
@ -964,7 +964,7 @@ static void test_readwrite(void)
|
|||
ok(handle != NULL, "OpenEventLogA(%s) failed : %ld\n", eventlogname, GetLastError());
|
||||
i = 0;
|
||||
size = sizeof(EVENTLOGRECORD) + 128;
|
||||
buf = HeapAlloc(GetProcessHeap(), 0, size);
|
||||
buf = malloc(size);
|
||||
for (;;)
|
||||
{
|
||||
DWORD read, needed;
|
||||
|
@ -989,9 +989,9 @@ static void test_readwrite(void)
|
|||
|
||||
if (needed > size)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, buf);
|
||||
free(buf);
|
||||
size = needed;
|
||||
buf = HeapAlloc(GetProcessHeap(), 0, size);
|
||||
buf = malloc(size);
|
||||
}
|
||||
ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ,
|
||||
0, buf, needed, &read, &needed);
|
||||
|
@ -1069,7 +1069,7 @@ static void test_readwrite(void)
|
|||
winetest_pop_context();
|
||||
i++;
|
||||
}
|
||||
HeapFree(GetProcessHeap(), 0, buf);
|
||||
free(buf);
|
||||
CloseEventLog(handle);
|
||||
|
||||
/* Test clearing a real eventlog */
|
||||
|
@ -1088,8 +1088,8 @@ static void test_readwrite(void)
|
|||
CloseEventLog(handle);
|
||||
|
||||
cleanup:
|
||||
HeapFree(GetProcessHeap(), 0, localcomputer);
|
||||
HeapFree(GetProcessHeap(), 0, user);
|
||||
free(localcomputer);
|
||||
free(user);
|
||||
}
|
||||
|
||||
/* Before Vista:
|
||||
|
@ -1240,7 +1240,7 @@ static void test_start_trace(void)
|
|||
LONG ret;
|
||||
|
||||
buffersize = sizeof(EVENT_TRACE_PROPERTIES) + sizeof(sessionname) + sizeof(filepath);
|
||||
properties = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, buffersize);
|
||||
properties = calloc(1, buffersize);
|
||||
properties->Wnode.BufferSize = buffersize;
|
||||
properties->Wnode.Flags = WNODE_FLAG_TRACED_GUID;
|
||||
properties->LogFileMode = EVENT_TRACE_FILE_MODE_NONE;
|
||||
|
@ -1317,7 +1317,7 @@ static void test_start_trace(void)
|
|||
/* clean up */
|
||||
ControlTraceA(handle, sessionname, properties, EVENT_TRACE_CONTROL_STOP);
|
||||
done:
|
||||
HeapFree(GetProcessHeap(), 0, properties);
|
||||
free(properties);
|
||||
DeleteFileA(filepath);
|
||||
}
|
||||
|
||||
|
|
|
@ -243,15 +243,15 @@ static void test_LsaLookupNames2(void)
|
|||
return;
|
||||
}
|
||||
|
||||
name[0].Buffer = HeapAlloc(GetProcessHeap(), 0, sizeof(n1));
|
||||
name[0].Buffer = malloc(sizeof(n1));
|
||||
name[0].Length = name[0].MaximumLength = sizeof(n1);
|
||||
memcpy(name[0].Buffer, n1, sizeof(n1));
|
||||
|
||||
name[1].Buffer = HeapAlloc(GetProcessHeap(), 0, sizeof(n1));
|
||||
name[1].Buffer = malloc(sizeof(n1));
|
||||
name[1].Length = name[1].MaximumLength = sizeof(n1) - sizeof(WCHAR);
|
||||
memcpy(name[1].Buffer, n1, sizeof(n1) - sizeof(WCHAR));
|
||||
|
||||
name[2].Buffer = HeapAlloc(GetProcessHeap(), 0, sizeof(n2));
|
||||
name[2].Buffer = malloc(sizeof(n2));
|
||||
name[2].Length = name[2].MaximumLength = sizeof(n2);
|
||||
memcpy(name[2].Buffer, n2, sizeof(n2));
|
||||
|
||||
|
@ -307,9 +307,9 @@ static void test_LsaLookupNames2(void)
|
|||
LsaFreeMemory(sids);
|
||||
LsaFreeMemory(domains);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, name[0].Buffer);
|
||||
HeapFree(GetProcessHeap(), 0, name[1].Buffer);
|
||||
HeapFree(GetProcessHeap(), 0, name[2].Buffer);
|
||||
free(name[0].Buffer);
|
||||
free(name[1].Buffer);
|
||||
free(name[2].Buffer);
|
||||
|
||||
status = LsaClose(handle);
|
||||
ok(status == STATUS_SUCCESS, "LsaClose() failed, returned 0x%08lx\n", status);
|
||||
|
|
|
@ -195,7 +195,7 @@ static void _test_hkey_main_Value_A(int line, LPCSTR name, LPCSTR string,
|
|||
lok(type == REG_SZ, "RegQueryValueExA/1 returned type %ld\n", type);
|
||||
lok(cbData == full_byte_len, "cbData=%ld instead of %ld or %ld\n", cbData, full_byte_len, str_byte_len);
|
||||
|
||||
value = HeapAlloc(GetProcessHeap(), 0, cbData+1);
|
||||
value = malloc(cbData+1);
|
||||
memset(value, 0xbd, cbData+1);
|
||||
type=0xdeadbeef;
|
||||
ret = RegQueryValueExA(hkey_main, name, NULL, &type, value, &cbData);
|
||||
|
@ -213,7 +213,7 @@ static void _test_hkey_main_Value_A(int line, LPCSTR name, LPCSTR string,
|
|||
debugstr_an(string, full_byte_len), full_byte_len);
|
||||
lok(*(value+cbData) == 0xbd, "RegQueryValueExA/2 overflowed at offset %lu: %02x != bd\n", cbData, *(value+cbData));
|
||||
}
|
||||
HeapFree(GetProcessHeap(), 0, value);
|
||||
free(value);
|
||||
}
|
||||
|
||||
#define test_hkey_main_Value_W(name, string, full_byte_len) _test_hkey_main_Value_W(__LINE__, name, string, full_byte_len)
|
||||
|
@ -243,7 +243,7 @@ static void _test_hkey_main_Value_W(int line, LPCWSTR name, LPCWSTR string,
|
|||
"cbData=%ld instead of %ld\n", cbData, full_byte_len);
|
||||
|
||||
/* Give enough space to overflow by one WCHAR */
|
||||
value = HeapAlloc(GetProcessHeap(), 0, cbData+2);
|
||||
value = malloc(cbData+2);
|
||||
memset(value, 0xbd, cbData+2);
|
||||
type=0xdeadbeef;
|
||||
ret = RegQueryValueExW(hkey_main, name, NULL, &type, value, &cbData);
|
||||
|
@ -258,7 +258,7 @@ static void _test_hkey_main_Value_W(int line, LPCWSTR name, LPCWSTR string,
|
|||
/* This implies that when cbData == 0, RegQueryValueExW() should not modify the buffer */
|
||||
lok(*(value+cbData) == 0xbd, "RegQueryValueExW/2 overflowed at %lu: %02x != bd\n", cbData, *(value+cbData));
|
||||
lok(*(value+cbData+1) == 0xbd, "RegQueryValueExW/2 overflowed at %lu+1: %02x != bd\n", cbData, *(value+cbData+1));
|
||||
HeapFree(GetProcessHeap(), 0, value);
|
||||
free(value);
|
||||
}
|
||||
|
||||
static void test_set_value(void)
|
||||
|
@ -1218,7 +1218,7 @@ static void test_reg_open_key(void)
|
|||
ok(ret == ERROR_SUCCESS,
|
||||
"Expected SetEntriesInAclA to return ERROR_SUCCESS, got %lu, last error %lu\n", ret, GetLastError());
|
||||
|
||||
sd = HeapAlloc(GetProcessHeap(), 0, SECURITY_DESCRIPTOR_MIN_LENGTH);
|
||||
sd = malloc(SECURITY_DESCRIPTOR_MIN_LENGTH);
|
||||
bRet = InitializeSecurityDescriptor(sd, SECURITY_DESCRIPTOR_REVISION);
|
||||
ok(bRet == TRUE,
|
||||
"Expected InitializeSecurityDescriptor to return TRUE, got %d, last error %lu\n", bRet, GetLastError());
|
||||
|
@ -1256,7 +1256,7 @@ static void test_reg_open_key(void)
|
|||
RegCloseKey(hkResult);
|
||||
}
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, sd);
|
||||
free(sd);
|
||||
LocalFree(key_acl);
|
||||
FreeSid(world_sid);
|
||||
RegDeleteKeyA(hkRoot64, "");
|
||||
|
@ -1380,7 +1380,7 @@ static void test_reg_create_key(void)
|
|||
ok(dwRet == ERROR_SUCCESS,
|
||||
"Expected SetEntriesInAclA to return ERROR_SUCCESS, got %lu, last error %lu\n", dwRet, GetLastError());
|
||||
|
||||
sd = HeapAlloc(GetProcessHeap(), 0, SECURITY_DESCRIPTOR_MIN_LENGTH);
|
||||
sd = malloc(SECURITY_DESCRIPTOR_MIN_LENGTH);
|
||||
bRet = InitializeSecurityDescriptor(sd, SECURITY_DESCRIPTOR_REVISION);
|
||||
ok(bRet == TRUE,
|
||||
"Expected InitializeSecurityDescriptor to return TRUE, got %d, last error %lu\n", bRet, GetLastError());
|
||||
|
@ -1418,7 +1418,7 @@ static void test_reg_create_key(void)
|
|||
RegCloseKey(hkey1);
|
||||
}
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, sd);
|
||||
free(sd);
|
||||
LocalFree(key_acl);
|
||||
FreeSid(world_sid);
|
||||
RegDeleteKeyA(hkRoot64, "");
|
||||
|
@ -2425,7 +2425,7 @@ static void test_symlinks(void)
|
|||
pRtlFormatCurrentUserKeyPath( &target_str );
|
||||
|
||||
target_len = target_str.Length + sizeof(targetW);
|
||||
target = HeapAlloc( GetProcessHeap(), 0, target_len );
|
||||
target = malloc( target_len );
|
||||
memcpy( target, target_str.Buffer, target_str.Length );
|
||||
memcpy( target + target_str.Length/sizeof(WCHAR), targetW, sizeof(targetW) );
|
||||
|
||||
|
@ -2530,7 +2530,7 @@ static void test_symlinks(void)
|
|||
ok( !status, "NtDeleteKey failed: 0x%08lx\n", status );
|
||||
RegCloseKey( link );
|
||||
|
||||
HeapFree( GetProcessHeap(), 0, target );
|
||||
free( target );
|
||||
pRtlFreeUnicodeString( &target_str );
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1000,14 +1000,14 @@ static void test_query_svc(void)
|
|||
}
|
||||
|
||||
/* Pass a correct buffer and buffersize but a NULL handle */
|
||||
statusproc = HeapAlloc(GetProcessHeap(), 0, sizeof(SERVICE_STATUS_PROCESS));
|
||||
statusproc = malloc(sizeof(SERVICE_STATUS_PROCESS));
|
||||
bufsize = needed;
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = pQueryServiceStatusEx(NULL, SC_STATUS_PROCESS_INFO, (BYTE*)statusproc, bufsize, &needed);
|
||||
ok(!ret, "Expected failure\n");
|
||||
ok(GetLastError() == ERROR_INVALID_HANDLE,
|
||||
"Expected ERROR_INVALID_HANDLE, got %ld\n", GetLastError());
|
||||
HeapFree(GetProcessHeap(), 0, statusproc);
|
||||
free(statusproc);
|
||||
|
||||
/* Correct handle and info level */
|
||||
SetLastError(0xdeadbeef);
|
||||
|
@ -1023,21 +1023,21 @@ static void test_query_svc(void)
|
|||
}
|
||||
|
||||
/* All parameters are OK but we don't have enough rights */
|
||||
statusproc = HeapAlloc(GetProcessHeap(), 0, sizeof(SERVICE_STATUS_PROCESS));
|
||||
statusproc = malloc(sizeof(SERVICE_STATUS_PROCESS));
|
||||
bufsize = sizeof(SERVICE_STATUS_PROCESS);
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = pQueryServiceStatusEx(svc_handle, SC_STATUS_PROCESS_INFO, (BYTE*)statusproc, bufsize, &needed);
|
||||
ok(!ret, "Expected failure\n");
|
||||
ok(GetLastError() == ERROR_ACCESS_DENIED,
|
||||
"Expected ERROR_ACCESS_DENIED, got %ld\n", GetLastError());
|
||||
HeapFree(GetProcessHeap(), 0, statusproc);
|
||||
free(statusproc);
|
||||
|
||||
/* Open the service with just enough rights. */
|
||||
CloseServiceHandle(svc_handle);
|
||||
svc_handle = OpenServiceA(scm_handle, spooler, SERVICE_QUERY_STATUS);
|
||||
|
||||
/* Everything should be fine now. */
|
||||
statusproc = HeapAlloc(GetProcessHeap(), 0, sizeof(SERVICE_STATUS_PROCESS));
|
||||
statusproc = malloc(sizeof(SERVICE_STATUS_PROCESS));
|
||||
bufsize = sizeof(SERVICE_STATUS_PROCESS);
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = pQueryServiceStatusEx(svc_handle, SC_STATUS_PROCESS_INFO, (BYTE*)statusproc, bufsize, &needed);
|
||||
|
@ -1056,7 +1056,7 @@ static void test_query_svc(void)
|
|||
ok(broken(GetLastError() == ERROR_INVALID_PARAMETER) /* NT4 */ ||
|
||||
GetLastError() == ERROR_INVALID_ADDRESS, "got %ld\n", GetLastError());
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, statusproc);
|
||||
free(statusproc);
|
||||
|
||||
CloseServiceHandle(svc_handle);
|
||||
CloseServiceHandle(scm_handle);
|
||||
|
@ -1274,14 +1274,14 @@ static BOOL test_enum_svc(int attempt)
|
|||
tempneeded = needed;
|
||||
|
||||
/* Allocate the correct needed bytes */
|
||||
services = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
services = malloc(needed);
|
||||
bufsize = needed;
|
||||
needed = 0xdeadbeef;
|
||||
returned = 0xdeadbeef;
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
services, bufsize, &needed, &returned, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, services);
|
||||
free(services);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
ok(ret, "Expected success, got error %lu\n", GetLastError());
|
||||
|
@ -1291,14 +1291,14 @@ static BOOL test_enum_svc(int attempt)
|
|||
/* Store the number of returned services */
|
||||
tempreturned = returned;
|
||||
|
||||
servicesA = HeapAlloc(GetProcessHeap(), 0, neededA);
|
||||
servicesA = malloc(neededA);
|
||||
bufsize = neededA;
|
||||
neededA = 0xdeadbeef;
|
||||
returnedA = 0xdeadbeef;
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = EnumServicesStatusA(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
servicesA, bufsize, &neededA, &returnedA, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, servicesA);
|
||||
free(servicesA);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
if (!ret && GetLastError() == ERROR_NOT_ENOUGH_MEMORY && GetACP() == CP_UTF8)
|
||||
|
@ -1314,7 +1314,7 @@ static BOOL test_enum_svc(int attempt)
|
|||
* More than one service will be missing because of the space needed for
|
||||
* the strings.
|
||||
*/
|
||||
services = HeapAlloc(GetProcessHeap(), 0, tempneeded);
|
||||
services = malloc(tempneeded);
|
||||
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUSW);
|
||||
needed = 0xdeadbeef;
|
||||
returned = 0xdeadbeef;
|
||||
|
@ -1323,7 +1323,7 @@ static BOOL test_enum_svc(int attempt)
|
|||
services, bufsize, &needed, &returned, NULL);
|
||||
if (ret && needed == 0 && attempt)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, services);
|
||||
free(services);
|
||||
goto retry; /* service stop race condition */
|
||||
}
|
||||
ok(!ret, "Expected failure\n");
|
||||
|
@ -1346,7 +1346,7 @@ static BOOL test_enum_svc(int attempt)
|
|||
services, bufsize, &needed, &returned, &resume);
|
||||
if (ret && needed == 0 && attempt)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, services);
|
||||
free(services);
|
||||
goto retry; /* service stop race condition */
|
||||
}
|
||||
ok(!ret, "Expected failure\n");
|
||||
|
@ -1365,7 +1365,7 @@ static BOOL test_enum_svc(int attempt)
|
|||
SetLastError(0xdeadbeef);
|
||||
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
services, bufsize, &needed, &returned, &resume);
|
||||
HeapFree(GetProcessHeap(), 0, services);
|
||||
free(services);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
ok(ret, "Expected success, got error %lu\n", GetLastError());
|
||||
|
@ -1390,10 +1390,10 @@ static BOOL test_enum_svc(int attempt)
|
|||
/* Get the number of active win32 services */
|
||||
EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_ACTIVE, NULL, 0,
|
||||
&needed, &returned, NULL);
|
||||
services = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
services = malloc(needed);
|
||||
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_ACTIVE,
|
||||
services, needed, &needed, &returned, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, services);
|
||||
free(services);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
|
||||
|
@ -1402,10 +1402,10 @@ static BOOL test_enum_svc(int attempt)
|
|||
/* Get the number of inactive win32 services */
|
||||
EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_INACTIVE, NULL, 0,
|
||||
&needed, &returned, NULL);
|
||||
services = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
services = malloc(needed);
|
||||
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_INACTIVE,
|
||||
services, needed, &needed, &returned, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, services);
|
||||
free(services);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
|
||||
|
@ -1414,10 +1414,10 @@ static BOOL test_enum_svc(int attempt)
|
|||
/* Get the number of win32 services */
|
||||
EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL, NULL, 0,
|
||||
&needed, &returned, NULL);
|
||||
services = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
services = malloc(needed);
|
||||
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
services, needed, &needed, &returned, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, services);
|
||||
free(services);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
|
||||
|
@ -1435,7 +1435,7 @@ static BOOL test_enum_svc(int attempt)
|
|||
*/
|
||||
EnumServicesStatusW(scm_handle, SERVICE_DRIVER | SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
NULL, 0, &needed, &returned, NULL);
|
||||
services = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
services = malloc(needed);
|
||||
ret = EnumServicesStatusW(scm_handle, SERVICE_DRIVER | SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
services, needed, &needed, &returned, NULL);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
|
@ -1482,7 +1482,7 @@ static BOOL test_enum_svc(int attempt)
|
|||
}
|
||||
}
|
||||
}
|
||||
HeapFree(GetProcessHeap(), 0, services);
|
||||
free(services);
|
||||
|
||||
if ((servicecountactive || servicecountinactive) && attempt)
|
||||
goto retry; /* service start|stop race condition */
|
||||
|
@ -1695,11 +1695,11 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
/* Show the Ex call returns the same service count as the regular enum */
|
||||
EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
NULL, 0, &needed, &returned, NULL);
|
||||
services = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
services = malloc(needed);
|
||||
returned = 0xdeadbeef;
|
||||
ret = EnumServicesStatusW(scm_handle, SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
services, needed, &needed, &returned, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, services);
|
||||
free(services);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
ok(ret, "Expected success, got error %lu\n", GetLastError());
|
||||
|
@ -1710,14 +1710,14 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
tempreturned = returned;
|
||||
|
||||
/* Allocate the correct needed bytes */
|
||||
exservices = HeapAlloc(GetProcessHeap(), 0, tempneeded);
|
||||
exservices = malloc(tempneeded);
|
||||
bufsize = tempneeded;
|
||||
needed = 0xdeadbeef;
|
||||
returned = 0xdeadbeef;
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
(BYTE*)exservices, bufsize, &needed, &returned, NULL, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, exservices);
|
||||
free(exservices);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
ok(ret, "Expected success, got error %lu\n", GetLastError());
|
||||
|
@ -1731,7 +1731,7 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
* More than one service will be missing because of the space needed for
|
||||
* the strings.
|
||||
*/
|
||||
exservices = HeapAlloc(GetProcessHeap(), 0, tempneeded);
|
||||
exservices = malloc(tempneeded);
|
||||
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUSW);
|
||||
needed = 0xdeadbeef;
|
||||
returned = 0xdeadbeef;
|
||||
|
@ -1740,7 +1740,7 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
(BYTE*)exservices, bufsize, &needed, &returned, NULL, NULL);
|
||||
if (ret && needed == 0 && attempt)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, exservices);
|
||||
free(exservices);
|
||||
goto retry; /* service stop race condition */
|
||||
}
|
||||
ok(!ret, "Expected failure\n");
|
||||
|
@ -1763,7 +1763,7 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
(BYTE*)exservices, bufsize, &needed, &returned, &resume, NULL);
|
||||
if (ret && needed == 0 && attempt)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, exservices);
|
||||
free(exservices);
|
||||
goto retry; /* service stop race condition */
|
||||
}
|
||||
ok(!ret, "Expected failure\n");
|
||||
|
@ -1782,7 +1782,7 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
SetLastError(0xdeadbeef);
|
||||
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
(BYTE*)exservices, bufsize, &needed, &returned, &resume, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, exservices);
|
||||
free(exservices);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
ok(ret, "Expected success, got error %lu\n", GetLastError());
|
||||
|
@ -1795,10 +1795,10 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
/* Get the number of active win32 services */
|
||||
pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_ACTIVE,
|
||||
NULL, 0, &needed, &returned, NULL, NULL);
|
||||
exservices = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
exservices = malloc(needed);
|
||||
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_ACTIVE,
|
||||
(BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, exservices);
|
||||
free(exservices);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
|
||||
|
@ -1807,10 +1807,10 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
/* Get the number of inactive win32 services */
|
||||
pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_INACTIVE,
|
||||
NULL, 0, &needed, &returned, NULL, NULL);
|
||||
exservices = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
exservices = malloc(needed);
|
||||
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_INACTIVE,
|
||||
(BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, exservices);
|
||||
free(exservices);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
|
||||
|
@ -1819,10 +1819,10 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
/* Get the number of win32 services */
|
||||
pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
NULL, 0, &needed, &returned, NULL, NULL);
|
||||
exservices = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
exservices = malloc(needed);
|
||||
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32, SERVICE_STATE_ALL,
|
||||
(BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
|
||||
HeapFree(GetProcessHeap(), 0, exservices);
|
||||
free(exservices);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
goto retry; /* service start race condition */
|
||||
|
||||
|
@ -1837,7 +1837,7 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32 | SERVICE_DRIVER,
|
||||
SERVICE_STATE_ALL, NULL, 0, &needed, &returned, NULL, NULL);
|
||||
ok(!ret, "Expected failure\n");
|
||||
exservices = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
exservices = malloc(needed);
|
||||
ret = pEnumServicesStatusExW(scm_handle, 0, SERVICE_WIN32 | SERVICE_DRIVER,
|
||||
SERVICE_STATE_ALL, (BYTE*)exservices, needed, &needed, &returned, NULL, NULL);
|
||||
if (!ret && GetLastError() == ERROR_MORE_DATA && attempt)
|
||||
|
@ -1908,7 +1908,7 @@ static BOOL test_enum_svc_ex(int attempt)
|
|||
}
|
||||
}
|
||||
}
|
||||
HeapFree(GetProcessHeap(), 0, exservices);
|
||||
free(exservices);
|
||||
|
||||
if ((servicecountactive || servicecountinactive) && attempt)
|
||||
goto retry; /* service start|stop race condition */
|
||||
|
@ -2154,7 +2154,7 @@ static void test_sequence(void)
|
|||
ok(!ret, "Expected failure\n");
|
||||
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "Expected ERROR_INSUFFICIENT_BUFFER, got %ld\n", GetLastError());
|
||||
|
||||
config = HeapAlloc(GetProcessHeap(), 0, needed);
|
||||
config = malloc(needed);
|
||||
given = needed;
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = QueryServiceConfigA(svc_handle, config, given, &needed);
|
||||
|
@ -2182,7 +2182,7 @@ static void test_sequence(void)
|
|||
ok(ret, "ChangeServiceConfig failed (err=%ld)\n", GetLastError());
|
||||
|
||||
QueryServiceConfigA(svc_handle, NULL, 0, &needed);
|
||||
config = HeapReAlloc(GetProcessHeap(), 0, config, needed);
|
||||
config = realloc(config, needed);
|
||||
ok(QueryServiceConfigA(svc_handle, config, needed, &needed), "QueryServiceConfig failed\n");
|
||||
ok(config->lpBinaryPathName && config->lpLoadOrderGroup && config->lpDependencies && config->lpServiceStartName &&
|
||||
config->lpDisplayName, "Expected all string struct members to be non-NULL\n");
|
||||
|
@ -2201,7 +2201,7 @@ static void test_sequence(void)
|
|||
ok(ret, "Expected success, got error %lu\n", GetLastError());
|
||||
CloseServiceHandle(svc_handle);
|
||||
CloseServiceHandle(scm_handle);
|
||||
HeapFree(GetProcessHeap(), 0, config);
|
||||
free(config);
|
||||
}
|
||||
|
||||
static void test_queryconfig2(void)
|
||||
|
@ -2890,7 +2890,7 @@ static void test_EventLog(void)
|
|||
ok(!ret, "QueryServiceConfig should fail\n");
|
||||
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %lu\n", GetLastError());
|
||||
|
||||
config = HeapAlloc(GetProcessHeap(), 0, size);
|
||||
config = malloc(size);
|
||||
ret = QueryServiceConfigA(svc_handle, config, size, &size);
|
||||
ok(ret, "QueryServiceConfig error %lu\n", GetLastError());
|
||||
|
||||
|
@ -2912,7 +2912,7 @@ static void test_EventLog(void)
|
|||
!strcmp(config->lpDisplayName, "Event Log") /* XP */ ||
|
||||
!strcmp(config->lpDisplayName, "Windows Event Log") /* Vista+ */, "got %s\n", config->lpDisplayName);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, config);
|
||||
free(config);
|
||||
|
||||
memset(&status, 0, sizeof(status));
|
||||
size = sizeof(status);
|
||||
|
|
Loading…
Add table
Reference in a new issue