msi/tests: Use CRT allocation functions.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Hans Leidekker 2022-02-01 14:57:02 +01:00 committed by Alexandre Julliard
parent 0d5f28457e
commit 11ddaf067f
9 changed files with 79 additions and 89 deletions

View file

@ -2409,10 +2409,10 @@ static char *get_user_sid(void)
OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token); OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token);
GetTokenInformation(token, TokenUser, NULL, size, &size); GetTokenInformation(token, TokenUser, NULL, size, &size);
user = HeapAlloc(GetProcessHeap(), 0, size); user = malloc(size);
GetTokenInformation(token, TokenUser, user, size, &size); GetTokenInformation(token, TokenUser, user, size, &size);
ConvertSidToStringSidA(user->User.Sid, &usersid); ConvertSidToStringSidA(user->User.Sid, &usersid);
HeapFree(GetProcessHeap(), 0, user); free(user);
CloseHandle(token); CloseHandle(token);
return usersid; return usersid;
@ -3022,7 +3022,7 @@ error:
DeleteFileA(msifile); DeleteFileA(msifile);
DeleteFileA("msitest\\maximus"); DeleteFileA("msitest\\maximus");
RemoveDirectoryA("msitest"); RemoveDirectoryA("msitest");
HeapFree(GetProcessHeap(), 0, usersid); free(usersid);
} }
static void test_publish_product(void) static void test_publish_product(void)
@ -3259,7 +3259,7 @@ error:
DeleteFileA(msifile); DeleteFileA(msifile);
DeleteFileA("msitest\\maximus"); DeleteFileA("msitest\\maximus");
RemoveDirectoryA("msitest"); RemoveDirectoryA("msitest");
HeapFree(GetProcessHeap(), 0, usersid); free(usersid);
} }
static void test_publish_features(void) static void test_publish_features(void)
@ -3384,7 +3384,7 @@ error:
DeleteFileA(msifile); DeleteFileA(msifile);
DeleteFileA("msitest\\maximus"); DeleteFileA("msitest\\maximus");
RemoveDirectoryA("msitest"); RemoveDirectoryA("msitest");
HeapFree(GetProcessHeap(), 0, usersid); free(usersid);
} }
static LPSTR reg_get_val_str(HKEY hkey, LPCSTR name) static LPSTR reg_get_val_str(HKEY hkey, LPCSTR name)
@ -3398,7 +3398,7 @@ static LPSTR reg_get_val_str(HKEY hkey, LPCSTR name)
return NULL; return NULL;
len += sizeof (WCHAR); len += sizeof (WCHAR);
val = HeapAlloc(GetProcessHeap(), 0, len); val = malloc(len);
if (!val) return NULL; if (!val) return NULL;
val[0] = 0; val[0] = 0;
RegQueryValueExA(hkey, name, NULL, NULL, (LPBYTE)val, &len); RegQueryValueExA(hkey, name, NULL, NULL, (LPBYTE)val, &len);
@ -3538,8 +3538,8 @@ static void test_register_user(void)
delete_key(HKEY_LOCAL_MACHINE, keypath, access); delete_key(HKEY_LOCAL_MACHINE, keypath, access);
error: error:
HeapFree(GetProcessHeap(), 0, company); free(company);
HeapFree(GetProcessHeap(), 0, owner); free(owner);
DeleteFileA(msifile); DeleteFileA(msifile);
DeleteFileA("msitest\\maximus"); DeleteFileA("msitest\\maximus");
@ -5781,7 +5781,7 @@ static void test_publish_components(void)
res = RegQueryValueExA(key, "english.txt", NULL, NULL, NULL, &size); res = RegQueryValueExA(key, "english.txt", NULL, NULL, NULL, &size);
ok(res == ERROR_SUCCESS, "value not found %d\n", res); ok(res == ERROR_SUCCESS, "value not found %d\n", res);
data = HeapAlloc(GetProcessHeap(), 0, size); data = malloc(size);
res = RegQueryValueExA(key, "english.txt", NULL, NULL, data, &size); res = RegQueryValueExA(key, "english.txt", NULL, NULL, data, &size);
ok(res == ERROR_SUCCESS, "value not found %d\n", res); ok(res == ERROR_SUCCESS, "value not found %d\n", res);
RegCloseKey(key); RegCloseKey(key);
@ -5812,7 +5812,7 @@ static void test_publish_components(void)
res = RegSetValueExA(key, "english.txt", 0, REG_MULTI_SZ, data, size); res = RegSetValueExA(key, "english.txt", 0, REG_MULTI_SZ, data, size);
ok(res == ERROR_SUCCESS, "RegSetValueEx failed %d\n", res); ok(res == ERROR_SUCCESS, "RegSetValueEx failed %d\n", res);
HeapFree(GetProcessHeap(), 0, data); free(data);
RegCloseKey(key); RegCloseKey(key);
r = MsiInstallProductA(msifile, "REMOVE=ALL"); r = MsiInstallProductA(msifile, "REMOVE=ALL");

View file

@ -306,7 +306,7 @@ static void create_database(const CHAR *name, const msi_table *tables, int num_t
int j, len; int j, len;
len = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 ); len = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 );
if (!(nameW = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ))) return; if (!(nameW = malloc( len * sizeof(WCHAR) ))) return;
MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, len ); MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, len );
r = MsiOpenDatabaseW(nameW, MSIDBOPEN_CREATE, &db); r = MsiOpenDatabaseW(nameW, MSIDBOPEN_CREATE, &db);
@ -331,7 +331,7 @@ static void create_database(const CHAR *name, const msi_table *tables, int num_t
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
MsiCloseHandle(db); MsiCloseHandle(db);
HeapFree( GetProcessHeap(), 0, nameW ); free( nameW );
} }
static BOOL create_package(LPWSTR path) static BOOL create_package(LPWSTR path)
@ -502,12 +502,12 @@ static DISPID get_dispid( IDispatch *disp, const char *name )
HRESULT r; HRESULT r;
len = MultiByteToWideChar(CP_ACP, 0, name, -1, NULL, 0 ); len = MultiByteToWideChar(CP_ACP, 0, name, -1, NULL, 0 );
str = HeapAlloc(GetProcessHeap(), 0, len*sizeof(WCHAR) ); str = malloc( len * sizeof(WCHAR) );
if (str) if (str)
{ {
MultiByteToWideChar(CP_ACP, 0, name, -1, str, len ); MultiByteToWideChar(CP_ACP, 0, name, -1, str, len );
r = IDispatch_GetIDsOfNames( disp, &IID_NULL, &str, 1, 0, &id ); r = IDispatch_GetIDsOfNames( disp, &IID_NULL, &str, 1, 0, &id );
HeapFree(GetProcessHeap(), 0, str); free( str );
if (r != S_OK) if (r != S_OK)
return -1; return -1;
} }
@ -845,11 +845,11 @@ static HRESULT invoke(IDispatch *pDispatch, LPCSTR szName, WORD wFlags, DISPPARA
VariantInit(pVarResult); VariantInit(pVarResult);
len = MultiByteToWideChar(CP_ACP, 0, szName, -1, NULL, 0 ); len = MultiByteToWideChar(CP_ACP, 0, szName, -1, NULL, 0 );
name = HeapAlloc(GetProcessHeap(), 0, len*sizeof(WCHAR) ); name = malloc(len * sizeof(WCHAR));
if (!name) return E_FAIL; if (!name) return E_FAIL;
MultiByteToWideChar(CP_ACP, 0, szName, -1, name, len ); MultiByteToWideChar(CP_ACP, 0, szName, -1, name, len );
hr = IDispatch_GetIDsOfNames(pDispatch, &IID_NULL, &name, 1, LOCALE_USER_DEFAULT, &dispid); hr = IDispatch_GetIDsOfNames(pDispatch, &IID_NULL, &name, 1, LOCALE_USER_DEFAULT, &dispid);
HeapFree(GetProcessHeap(), 0, name); free(name);
ok(hr == S_OK, "IDispatch::GetIDsOfNames returned 0x%08x\n", hr); ok(hr == S_OK, "IDispatch::GetIDsOfNames returned 0x%08x\n", hr);
if (hr != S_OK) return hr; if (hr != S_OK) return hr;
@ -2329,13 +2329,13 @@ static UINT delete_registry_key(HKEY hkeyParent, LPCSTR subkey, REGSAM access)
if (ret != ERROR_SUCCESS) return ret; if (ret != ERROR_SUCCESS) return ret;
ret = RegQueryInfoKeyA(hkey, NULL, NULL, NULL, NULL, &dwSize, NULL, NULL, NULL, NULL, NULL, NULL); ret = RegQueryInfoKeyA(hkey, NULL, NULL, NULL, NULL, &dwSize, NULL, NULL, NULL, NULL, NULL, NULL);
if (ret != ERROR_SUCCESS) return ret; if (ret != ERROR_SUCCESS) return ret;
if (!(string = HeapAlloc(GetProcessHeap(), 0, ++dwSize))) return ERROR_NOT_ENOUGH_MEMORY; if (!(string = malloc(++dwSize))) return ERROR_NOT_ENOUGH_MEMORY;
while (RegEnumKeyA(hkey, 0, string, dwSize) == ERROR_SUCCESS) while (RegEnumKeyA(hkey, 0, string, dwSize) == ERROR_SUCCESS)
delete_registry_key(hkey, string, access); delete_registry_key(hkey, string, access);
RegCloseKey(hkey); RegCloseKey(hkey);
HeapFree(GetProcessHeap(), 0, string); free(string);
delete_key_portable(hkeyParent, subkey, access); delete_key_portable(hkeyParent, subkey, access);
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
@ -2356,7 +2356,7 @@ static UINT find_registry_key(HKEY hkeyParent, LPCSTR subkey, LPCSTR findkey, RE
if (ret != ERROR_SUCCESS) return ret; if (ret != ERROR_SUCCESS) return ret;
ret = RegQueryInfoKeyA(hkey, NULL, NULL, NULL, NULL, &dwSize, NULL, NULL, NULL, NULL, NULL, NULL); ret = RegQueryInfoKeyA(hkey, NULL, NULL, NULL, NULL, &dwSize, NULL, NULL, NULL, NULL, NULL, NULL);
if (ret != ERROR_SUCCESS) return ret; if (ret != ERROR_SUCCESS) return ret;
if (!(string = HeapAlloc(GetProcessHeap(), 0, ++dwSize))) return ERROR_NOT_ENOUGH_MEMORY; if (!(string = malloc(++dwSize))) return ERROR_NOT_ENOUGH_MEMORY;
while (!found && while (!found &&
RegEnumKeyA(hkey, idx++, string, dwSize) == ERROR_SUCCESS) RegEnumKeyA(hkey, idx++, string, dwSize) == ERROR_SUCCESS)
@ -2370,7 +2370,7 @@ static UINT find_registry_key(HKEY hkeyParent, LPCSTR subkey, LPCSTR findkey, RE
} }
if (*phkey != hkey) RegCloseKey(hkey); if (*phkey != hkey) RegCloseKey(hkey);
HeapFree(GetProcessHeap(), 0, string); free(string);
return (found ? ERROR_SUCCESS : ERROR_FILE_NOT_FOUND); return (found ? ERROR_SUCCESS : ERROR_FILE_NOT_FOUND);
} }

View file

@ -323,10 +323,10 @@ static inline UINT add_entry(const char *file, int line, const char *type, MSIHA
UINT sz, r; UINT sz, r;
sz = strlen(values) + strlen(insert) + 1; sz = strlen(values) + strlen(insert) + 1;
query = HeapAlloc(GetProcessHeap(), 0, sz); query = malloc(sz);
sprintf(query, insert, values); sprintf(query, insert, values);
r = run_query(hdb, 0, query); r = run_query(hdb, 0, query);
HeapFree(GetProcessHeap(), 0, query); free(query);
ok_(file, line)(r == ERROR_SUCCESS, "failed to insert into %s table: %u\n", type, r); ok_(file, line)(r == ERROR_SUCCESS, "failed to insert into %s table: %u\n", type, r);
return r; return r;
} }
@ -1465,15 +1465,14 @@ static void test_longstrings(void)
ok(r == ERROR_SUCCESS, "query failed\n"); ok(r == ERROR_SUCCESS, "query failed\n");
/* try to insert a very long string */ /* try to insert a very long string */
str = HeapAlloc(GetProcessHeap(), 0, STRING_LENGTH+sizeof insert_query); str = malloc(STRING_LENGTH + sizeof insert_query);
len = strchr(insert_query, 'Z') - insert_query; len = strchr(insert_query, 'Z') - insert_query;
strcpy(str, insert_query); strcpy(str, insert_query);
memset(str+len, 'Z', STRING_LENGTH); memset(str+len, 'Z', STRING_LENGTH);
strcpy(str+len+STRING_LENGTH, insert_query+len+1); strcpy(str+len+STRING_LENGTH, insert_query+len+1);
r = try_query( hdb, str ); r = try_query( hdb, str );
ok(r == ERROR_SUCCESS, "MsiDatabaseOpenView failed\n"); ok(r == ERROR_SUCCESS, "MsiDatabaseOpenView failed\n");
free(str);
HeapFree(GetProcessHeap(), 0, str);
r = MsiDatabaseCommit(hdb); r = MsiDatabaseCommit(hdb);
ok(r == ERROR_SUCCESS, "MsiDatabaseCommit failed\n"); ok(r == ERROR_SUCCESS, "MsiDatabaseCommit failed\n");

View file

@ -61,13 +61,12 @@ static UINT helper_createpackage( const char *szName, MSIHANDLE *handle )
DeleteFileA(szName); DeleteFileA(szName);
len = MultiByteToWideChar( CP_ACP, 0, szName, -1, NULL, 0 ); len = MultiByteToWideChar( CP_ACP, 0, szName, -1, NULL, 0 );
if (!(nameW = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ))) if (!(nameW = malloc( len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
return ERROR_OUTOFMEMORY;
MultiByteToWideChar( CP_ACP, 0, szName, -1, nameW, len ); MultiByteToWideChar( CP_ACP, 0, szName, -1, nameW, len );
/* create an empty database */ /* create an empty database */
res = MsiOpenDatabaseW( nameW, MSIDBOPEN_CREATEDIRECT, &hdb ); res = MsiOpenDatabaseW( nameW, MSIDBOPEN_CREATEDIRECT, &hdb );
HeapFree( GetProcessHeap(), 0, nameW ); free( nameW );
ok( res == ERROR_SUCCESS , "Failed to create database %u\n", res ); ok( res == ERROR_SUCCESS , "Failed to create database %u\n", res );
if (res != ERROR_SUCCESS) if (res != ERROR_SUCCESS)
return res; return res;

View file

@ -2125,12 +2125,12 @@ static const msi_table sr_tables[] =
static void * CDECL mem_alloc(ULONG cb) static void * CDECL mem_alloc(ULONG cb)
{ {
return HeapAlloc(GetProcessHeap(), 0, cb); return malloc(cb);
} }
static void CDECL mem_free(void *memory) static void CDECL mem_free(void *memory)
{ {
HeapFree(GetProcessHeap(), 0, memory); free(memory);
} }
static BOOL CDECL get_next_cabinet(PCCAB pccab, ULONG cbPrevCab, void *pv) static BOOL CDECL get_next_cabinet(PCCAB pccab, ULONG cbPrevCab, void *pv)
@ -2302,18 +2302,17 @@ static BOOL CDECL get_temp_file(char *pszTempName, int cbTempName, void *pv)
{ {
LPSTR tempname; LPSTR tempname;
tempname = HeapAlloc(GetProcessHeap(), 0, MAX_PATH); tempname = malloc(MAX_PATH);
GetTempFileNameA(".", "xx", 0, tempname); GetTempFileNameA(".", "xx", 0, tempname);
if (tempname && (strlen(tempname) < (unsigned)cbTempName)) if (tempname && (strlen(tempname) < (unsigned)cbTempName))
{ {
lstrcpyA(pszTempName, tempname); lstrcpyA(pszTempName, tempname);
HeapFree(GetProcessHeap(), 0, tempname); free(tempname);
return TRUE; return TRUE;
} }
HeapFree(GetProcessHeap(), 0, tempname); free(tempname);
return FALSE; return FALSE;
} }
@ -2551,12 +2550,11 @@ static BOOL compare_pf_data(const char *filename, const char *data, DWORD size)
lstrcatA(path, filename); lstrcatA(path, filename);
handle = CreateFileA(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); handle = CreateFileA(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
buffer = HeapAlloc(GetProcessHeap(), 0, size); if ((buffer = malloc(size)))
if (buffer)
{ {
ReadFile(handle, buffer, size, &read, NULL); ReadFile(handle, buffer, size, &read, NULL);
if (read == size && !memcmp(data, buffer, size)) ret = TRUE; if (read == size && !memcmp(data, buffer, size)) ret = TRUE;
HeapFree(GetProcessHeap(), 0, buffer); free(buffer);
} }
CloseHandle(handle); CloseHandle(handle);
return ret; return ret;
@ -2707,7 +2705,7 @@ void create_database_wordcount(const CHAR *name, const msi_table *tables, int nu
int j, len; int j, len;
len = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 ); len = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 );
if (!(nameW = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ))) return; if (!(nameW = malloc( len * sizeof(WCHAR) ))) return;
MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, len ); MultiByteToWideChar( CP_ACP, 0, name, -1, nameW, len );
r = MsiOpenDatabaseW(nameW, MSIDBOPEN_CREATE, &db); r = MsiOpenDatabaseW(nameW, MSIDBOPEN_CREATE, &db);
@ -2733,7 +2731,7 @@ void create_database_wordcount(const CHAR *name, const msi_table *tables, int nu
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
MsiCloseHandle(db); MsiCloseHandle(db);
HeapFree( GetProcessHeap(), 0, nameW ); free( nameW );
} }
static BOOL notify_system_change(DWORD event_type, STATEMGRSTATUS *status) static BOOL notify_system_change(DWORD event_type, STATEMGRSTATUS *status)
@ -5266,8 +5264,8 @@ static void process_pending_renames(HKEY hkey)
ret = RegQueryValueExA(hkey, rename_ops, NULL, NULL, NULL, &size); ret = RegQueryValueExA(hkey, rename_ops, NULL, NULL, NULL, &size);
ok(!ret, "RegQueryValueExA failed %d\n", ret); ok(!ret, "RegQueryValueExA failed %d\n", ret);
buf = HeapAlloc(GetProcessHeap(), 0, size + 1); buf = malloc(size + 1);
buf2ptr = buf2 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size + 1); buf2ptr = buf2 = calloc(1, size + 1);
ret = RegQueryValueExA(hkey, rename_ops, NULL, NULL, (LPBYTE)buf, &size); ret = RegQueryValueExA(hkey, rename_ops, NULL, NULL, (LPBYTE)buf, &size);
buf[size] = 0; buf[size] = 0;
@ -5318,8 +5316,8 @@ static void process_pending_renames(HKEY hkey)
else else
RegDeleteValueA(hkey, rename_ops); RegDeleteValueA(hkey, rename_ops);
HeapFree(GetProcessHeap(), 0, buf); free(buf);
HeapFree(GetProcessHeap(), 0, buf2); free(buf2);
} }
static BOOL file_matches_data(LPCSTR file, LPCSTR data) static BOOL file_matches_data(LPCSTR file, LPCSTR data)

View file

@ -966,9 +966,7 @@ static void test_null(void)
ok ( r == ERROR_SUCCESS || r == ERROR_FILE_NOT_FOUND, "wrong error %d\n", r); ok ( r == ERROR_SUCCESS || r == ERROR_FILE_NOT_FOUND, "wrong error %d\n", r);
if ( r == ERROR_SUCCESS ) if ( r == ERROR_SUCCESS )
{ {
lpData = HeapAlloc(GetProcessHeap(), 0, cbData); if (!(lpData = malloc(cbData))) skip("Out of memory\n");
if (!lpData)
skip("Out of memory\n");
else else
{ {
r = RegQueryValueExA(hkey, NULL, 0, &dwType, lpData, &cbData); r = RegQueryValueExA(hkey, NULL, 0, &dwType, lpData, &cbData);
@ -980,7 +978,7 @@ static void test_null(void)
if (r == ERROR_ACCESS_DENIED) if (r == ERROR_ACCESS_DENIED)
{ {
skip("Not enough rights to perform tests\n"); skip("Not enough rights to perform tests\n");
HeapFree(GetProcessHeap(), 0, lpData); free(lpData);
RegCloseKey(hkey); RegCloseKey(hkey);
return; return;
} }
@ -993,8 +991,7 @@ static void test_null(void)
{ {
r = RegSetValueExA(hkey, NULL, 0, dwType, lpData, cbData); r = RegSetValueExA(hkey, NULL, 0, dwType, lpData, cbData);
ok ( r == ERROR_SUCCESS, "wrong error %d\n", r); ok ( r == ERROR_SUCCESS, "wrong error %d\n", r);
free(lpData);
HeapFree(GetProcessHeap(), 0, lpData);
} }
else else
{ {
@ -1257,10 +1254,10 @@ static char *get_user_sid(void)
OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token); OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token);
GetTokenInformation(token, TokenUser, NULL, size, &size); GetTokenInformation(token, TokenUser, NULL, size, &size);
user = HeapAlloc(GetProcessHeap(), 0, size); user = malloc(size);
GetTokenInformation(token, TokenUser, user, size, &size); GetTokenInformation(token, TokenUser, user, size, &size);
ConvertSidToStringSidA(user->User.Sid, &usersid); ConvertSidToStringSidA(user->User.Sid, &usersid);
HeapFree(GetProcessHeap(), 0, user); free(user);
CloseHandle(token); CloseHandle(token);
return usersid; return usersid;
@ -4087,22 +4084,22 @@ static void get_version_info(LPSTR path, LPSTR *vercheck, LPDWORD verchecksz,
DWORD size = GetFileVersionInfoSizeA(path, NULL); DWORD size = GetFileVersionInfoSizeA(path, NULL);
USHORT *lang; USHORT *lang;
version = HeapAlloc(GetProcessHeap(), 0, size); version = malloc(size);
GetFileVersionInfoA(path, 0, size, version); GetFileVersionInfoA(path, 0, size, version);
VerQueryValueA(version, "\\", (LPVOID *)&ffi, &size); VerQueryValueA(version, "\\", (LPVOID *)&ffi, &size);
*vercheck = HeapAlloc(GetProcessHeap(), 0, MAX_PATH); *vercheck = malloc(MAX_PATH);
sprintf(*vercheck, "%d.%d.%d.%d", HIWORD(ffi->dwFileVersionMS), sprintf(*vercheck, "%d.%d.%d.%d", HIWORD(ffi->dwFileVersionMS),
LOWORD(ffi->dwFileVersionMS), HIWORD(ffi->dwFileVersionLS), LOWORD(ffi->dwFileVersionMS), HIWORD(ffi->dwFileVersionLS),
LOWORD(ffi->dwFileVersionLS)); LOWORD(ffi->dwFileVersionLS));
*verchecksz = lstrlenA(*vercheck); *verchecksz = lstrlenA(*vercheck);
VerQueryValueA(version, "\\VarFileInfo\\Translation", (void **)&lang, &size); VerQueryValueA(version, "\\VarFileInfo\\Translation", (void **)&lang, &size);
*langcheck = HeapAlloc(GetProcessHeap(), 0, MAX_PATH); *langcheck = malloc(MAX_PATH);
sprintf(*langcheck, "%d", *lang); sprintf(*langcheck, "%d", *lang);
*langchecksz = lstrlenA(*langcheck); *langchecksz = lstrlenA(*langcheck);
HeapFree(GetProcessHeap(), 0, version); free(version);
} }
static void test_MsiGetFileVersion(void) static void test_MsiGetFileVersion(void)
@ -4286,8 +4283,8 @@ static void test_MsiGetFileVersion(void)
if (langchecksz && !langsz) if (langchecksz && !langsz)
{ {
win_skip("broken MsiGetFileVersionA detected\n"); win_skip("broken MsiGetFileVersionA detected\n");
HeapFree(GetProcessHeap(), 0, vercheck); free(vercheck);
HeapFree(GetProcessHeap(), 0, langcheck); free(langcheck);
return; return;
} }
ok(versz == verchecksz, "Expected %d, got %d\n", verchecksz, versz); ok(versz == verchecksz, "Expected %d, got %d\n", verchecksz, versz);
@ -4372,8 +4369,8 @@ static void test_MsiGetFileVersion(void)
r = MsiGetFileVersionA(path, NULL, NULL, NULL, NULL); r = MsiGetFileVersionA(path, NULL, NULL, NULL, NULL);
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
HeapFree(GetProcessHeap(), 0, vercheck); free(vercheck);
HeapFree(GetProcessHeap(), 0, langcheck); free(langcheck);
} }
static void test_MsiGetProductInfo(void) static void test_MsiGetProductInfo(void)

View file

@ -133,10 +133,10 @@ static char *get_user_sid(void)
OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token); OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token);
GetTokenInformation(token, TokenUser, NULL, size, &size); GetTokenInformation(token, TokenUser, NULL, size, &size);
user = HeapAlloc(GetProcessHeap(), 0, size); user = malloc(size);
GetTokenInformation(token, TokenUser, user, size, &size); GetTokenInformation(token, TokenUser, user, size, &size);
ConvertSidToStringSidA(user->User.Sid, &usersid); ConvertSidToStringSidA(user->User.Sid, &usersid);
HeapFree(GetProcessHeap(), 0, user); free(user);
CloseHandle(token); CloseHandle(token);
return usersid; return usersid;
@ -167,7 +167,7 @@ static LSTATUS package_RegDeleteTreeW(HKEY hKey, LPCWSTR lpszSubKey, REGSAM acce
if (dwMaxLen > ARRAY_SIZE(szNameBuf)) if (dwMaxLen > ARRAY_SIZE(szNameBuf))
{ {
/* Name too big: alloc a buffer for it */ /* Name too big: alloc a buffer for it */
if (!(lpszName = HeapAlloc( GetProcessHeap(), 0, dwMaxLen*sizeof(WCHAR)))) if (!(lpszName = malloc(dwMaxLen * sizeof(WCHAR))))
{ {
ret = ERROR_NOT_ENOUGH_MEMORY; ret = ERROR_NOT_ENOUGH_MEMORY;
goto cleanup; goto cleanup;
@ -204,10 +204,8 @@ static LSTATUS package_RegDeleteTreeW(HKEY hKey, LPCWSTR lpszSubKey, REGSAM acce
} }
cleanup: cleanup:
if (lpszName != szNameBuf) if (lpszName != szNameBuf) free(lpszName);
HeapFree(GetProcessHeap(), 0, lpszName); if (lpszSubKey) RegCloseKey(hSubKey);
if(lpszSubKey)
RegCloseKey(hSubKey);
return ret; return ret;
} }
@ -750,10 +748,10 @@ static inline UINT add_entry(const char *file, int line, const char *type, MSIHA
UINT sz, r; UINT sz, r;
sz = strlen(values) + strlen(insert) + 1; sz = strlen(values) + strlen(insert) + 1;
query = HeapAlloc(GetProcessHeap(), 0, sz); query = malloc(sz);
sprintf(query, insert, values); sprintf(query, insert, values);
r = run_query(hdb, query); r = run_query(hdb, query);
HeapFree(GetProcessHeap(), 0, query); free(query);
ok_(file, line)(r == ERROR_SUCCESS, "failed to insert into %s table: %u\n", type, r); ok_(file, line)(r == ERROR_SUCCESS, "failed to insert into %s table: %u\n", type, r);
return r; return r;
} }
@ -867,10 +865,10 @@ static UINT add_reglocator_entry( MSIHANDLE hdb, const char *sig, UINT root, con
UINT sz, r; UINT sz, r;
sz = strlen( sig ) + 10 + strlen( path ) + strlen( name ) + 10 + sizeof( insert ); sz = strlen( sig ) + 10 + strlen( path ) + strlen( name ) + 10 + sizeof( insert );
query = HeapAlloc( GetProcessHeap(), 0, sz ); query = malloc( sz );
sprintf( query, insert, sig, root, path, name, type ); sprintf( query, insert, sig, root, path, name, type );
r = run_query( hdb, query ); r = run_query( hdb, query );
HeapFree( GetProcessHeap(), 0, query ); free( query );
ok(r == ERROR_SUCCESS, "failed to insert into reglocator table: %u\n", r); \ ok(r == ERROR_SUCCESS, "failed to insert into reglocator table: %u\n", r); \
return r; return r;
} }
@ -1028,7 +1026,7 @@ static BOOL create_file_with_version(const CHAR *name, LONG ms, LONG ls)
CopyFileA(path, name, FALSE); CopyFileA(path, name, FALSE);
size = GetFileVersionInfoSizeA(path, &handle); size = GetFileVersionInfoSizeA(path, &handle);
buffer = HeapAlloc(GetProcessHeap(), 0, size); buffer = malloc(size);
GetFileVersionInfoA(path, 0, size, buffer); GetFileVersionInfoA(path, 0, size, buffer);
@ -1055,7 +1053,7 @@ static BOOL create_file_with_version(const CHAR *name, LONG ms, LONG ls)
ret = TRUE; ret = TRUE;
done: done:
HeapFree(GetProcessHeap(), 0, buffer); free(buffer);
return ret; return ret;
} }
@ -4722,21 +4720,21 @@ static void test_appsearch_reglocator(void)
if (S(U(si)).wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) if (S(U(si)).wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL)
{ {
size = ExpandEnvironmentStringsA("%PATH%", NULL, 0); size = ExpandEnvironmentStringsA("%PATH%", NULL, 0);
pathvar = HeapAlloc(GetProcessHeap(), 0, size); pathvar = malloc(size);
ExpandEnvironmentStringsA("%PATH%", pathvar, size); ExpandEnvironmentStringsA("%PATH%", pathvar, size);
size = 0; size = 0;
r = MsiGetPropertyA(hpkg, "SIGPROP4", NULL, &size); r = MsiGetPropertyA(hpkg, "SIGPROP4", NULL, &size);
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
pathdata = HeapAlloc(GetProcessHeap(), 0, ++size); pathdata = malloc(++size);
r = MsiGetPropertyA(hpkg, "SIGPROP4", pathdata, &size); r = MsiGetPropertyA(hpkg, "SIGPROP4", pathdata, &size);
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
ok(!lstrcmpA(pathdata, pathvar), ok(!lstrcmpA(pathdata, pathvar),
"Expected \"%s\", got \"%s\"\n", pathvar, pathdata); "Expected \"%s\", got \"%s\"\n", pathvar, pathdata);
HeapFree(GetProcessHeap(), 0, pathvar); free(pathvar);
HeapFree(GetProcessHeap(), 0, pathdata); free(pathdata);
} }
size = MAX_PATH; size = MAX_PATH;
@ -8802,22 +8800,21 @@ static void add_message(const struct externalui_message *msg)
if (!sequence) if (!sequence)
{ {
sequence_size = 10; sequence_size = 10;
sequence = HeapAlloc(GetProcessHeap(), 0, sequence_size * sizeof(*sequence)); sequence = malloc(sequence_size * sizeof(*sequence));
} }
if (sequence_count == sequence_size) if (sequence_count == sequence_size)
{ {
sequence_size *= 2; sequence_size *= 2;
sequence = HeapReAlloc(GetProcessHeap(), 0, sequence, sequence_size * sizeof(*sequence)); sequence = realloc(sequence, sequence_size * sizeof(*sequence));
} }
assert(sequence); assert(sequence);
sequence[sequence_count++] = *msg; sequence[sequence_count++] = *msg;
} }
static void flush_sequence(void) static void flush_sequence(void)
{ {
HeapFree(GetProcessHeap(), 0, sequence); free(sequence);
sequence = NULL; sequence = NULL;
sequence_count = sequence_size = 0; sequence_count = sequence_size = 0;
} }

View file

@ -321,7 +321,7 @@ static void create_database( const char *filename, const struct msi_table *table
int len; int len;
len = MultiByteToWideChar( CP_ACP, 0, filename, -1, NULL, 0 ); len = MultiByteToWideChar( CP_ACP, 0, filename, -1, NULL, 0 );
if (!(filenameW = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ))) return; if (!(filenameW = malloc( len * sizeof(WCHAR) ))) return;
MultiByteToWideChar( CP_ACP, 0, filename, -1, filenameW, len ); MultiByteToWideChar( CP_ACP, 0, filename, -1, filenameW, len );
r = MsiOpenDatabaseW( filenameW, MSIDBOPEN_CREATE, &hdb ); r = MsiOpenDatabaseW( filenameW, MSIDBOPEN_CREATE, &hdb );
@ -345,7 +345,7 @@ static void create_database( const char *filename, const struct msi_table *table
MsiCloseHandle( hdb ); MsiCloseHandle( hdb );
set_suminfo( filenameW ); set_suminfo( filenameW );
HeapFree( GetProcessHeap(), 0, filenameW ); free( filenameW );
} }
/* data for generating a patch */ /* data for generating a patch */
@ -704,11 +704,11 @@ static void create_patch( const char *filename )
const CLSID CLSID_MsiTransform = {0xc1082, 0, 0, {0xc0, 0, 0, 0, 0, 0, 0, 0x46}}; const CLSID CLSID_MsiTransform = {0xc1082, 0, 0, {0xc0, 0, 0, 0, 0, 0, 0, 0x46}};
len = MultiByteToWideChar( CP_ACP, 0, filename, -1, NULL, 0 ); len = MultiByteToWideChar( CP_ACP, 0, filename, -1, NULL, 0 );
filenameW = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); filenameW = malloc( len * sizeof(WCHAR) );
MultiByteToWideChar( CP_ACP, 0, filename, -1, filenameW, len ); MultiByteToWideChar( CP_ACP, 0, filename, -1, filenameW, len );
r = StgCreateDocfile( filenameW, mode, 0, &stg ); r = StgCreateDocfile( filenameW, mode, 0, &stg );
HeapFree( GetProcessHeap(), 0, filenameW ); free( filenameW );
ok( r == S_OK, "failed to create storage 0x%08x\n", r ); ok( r == S_OK, "failed to create storage 0x%08x\n", r );
if (!stg) if (!stg)
return; return;

View file

@ -144,10 +144,10 @@ static char *get_user_sid(void)
OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token); OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token);
GetTokenInformation(token, TokenUser, NULL, size, &size); GetTokenInformation(token, TokenUser, NULL, size, &size);
user = HeapAlloc(GetProcessHeap(), 0, size); user = malloc(size);
GetTokenInformation(token, TokenUser, user, size, &size); GetTokenInformation(token, TokenUser, user, size, &size);
ConvertSidToStringSidA(user->User.Sid, &usersid); ConvertSidToStringSidA(user->User.Sid, &usersid);
HeapFree(GetProcessHeap(), 0, user); free(user);
CloseHandle(token); CloseHandle(token);
return usersid; return usersid;
@ -188,7 +188,7 @@ static inline WCHAR *strdupAW( const char *str )
int len; int len;
WCHAR *ret; WCHAR *ret;
len = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, 0 ); len = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, 0 );
if (!(ret = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ))) return NULL; if (!(ret = malloc( len * sizeof(WCHAR) ))) return NULL;
MultiByteToWideChar( CP_ACP, 0, str, -1, ret, len ); MultiByteToWideChar( CP_ACP, 0, str, -1, ret, len );
return ret; return ret;
} }
@ -448,8 +448,8 @@ static void test_MsiSourceListGetInfo(void)
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
ok(!valueW[0], "Expected \"\""); ok(!valueW[0], "Expected \"\"");
ok(size == 0, "Expected 0, got %d\n", size); ok(size == 0, "Expected 0, got %d\n", size);
HeapFree(GetProcessHeap(), 0, usersidW); free(usersidW);
HeapFree(GetProcessHeap(), 0, prodcodeW); free(prodcodeW);
data = ""; data = "";
res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ, res = RegSetValueExA(hkey, "LastUsedSource", 0, REG_SZ,