[PATCH 2/3] reg: Use a helper function to free allocated memory
Hugh McMaster
hugh.mcmaster at outlook.com
Tue Aug 1 07:31:00 CDT 2017
Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
programs/reg/reg.c | 33 +++++++++++++++++++--------------
1 file changed, 19 insertions(+), 14 deletions(-)
diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index db4ae9bcf6..6bac1a8b43 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -90,6 +90,11 @@ static void *heap_xalloc(size_t size)
return buf;
}
+static BOOL heap_free(void *buf)
+{
+ return HeapFree(GetProcessHeap(), 0, buf);
+}
+
static void output_writeconsole(const WCHAR *str, DWORD wlen)
{
DWORD count, ret;
@@ -109,7 +114,7 @@ static void output_writeconsole(const WCHAR *str, DWORD wlen)
WideCharToMultiByte(GetConsoleOutputCP(), 0, str, wlen, msgA, len, NULL, NULL);
WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), msgA, len, &count, FALSE);
- HeapFree(GetProcessHeap(), 0, msgA);
+ heap_free(msgA);
}
}
@@ -295,7 +300,7 @@ static LPBYTE get_regdata(const WCHAR *data, DWORD reg_type, WCHAR separator, DW
break;
no_hex_data:
/* cleanup, print error */
- HeapFree(GetProcessHeap(), 0, out_data);
+ heap_free(out_data);
output_message(STRING_MISSING_HEXDATA);
out_data = NULL;
break;
@@ -319,7 +324,7 @@ static LPBYTE get_regdata(const WCHAR *data, DWORD reg_type, WCHAR separator, DW
if (destindex && !buffer[destindex - 1] && (!buffer[destindex] || destindex == 1))
{
- HeapFree(GetProcessHeap(), 0, buffer);
+ heap_free(buffer);
output_message(STRING_INVALID_STRING);
return NULL;
}
@@ -407,7 +412,7 @@ static int reg_add(HKEY root, WCHAR *path, WCHAR *value_name, BOOL value_empty,
}
RegSetValueExW(key, value_name, 0, reg_type, reg_data, reg_count);
- HeapFree(GetProcessHeap(),0,reg_data);
+ heap_free(reg_data);
}
RegCloseKey(key);
@@ -484,7 +489,7 @@ static int reg_delete(HKEY root, WCHAR *path, WCHAR *key_name, WCHAR *value_name
rc = RegDeleteValueW(key, szValue);
if (rc != ERROR_SUCCESS)
{
- HeapFree(GetProcessHeap(), 0, szValue);
+ heap_free(szValue);
RegCloseKey(key);
output_message(STRING_VALUEALL_FAILED, key_name);
return 1;
@@ -492,7 +497,7 @@ static int reg_delete(HKEY root, WCHAR *path, WCHAR *key_name, WCHAR *value_name
}
else break;
}
- HeapFree(GetProcessHeap(), 0, szValue);
+ heap_free(szValue);
}
else if (value_name || value_empty)
{
@@ -611,7 +616,7 @@ static void output_value(const WCHAR *value_name, DWORD type, BYTE *data, DWORD
{
reg_data = reg_data_to_wchar(type, data, data_size);
output_string(fmt, reg_data);
- HeapFree(GetProcessHeap(), 0, reg_data);
+ heap_free(reg_data);
}
else
{
@@ -670,7 +675,7 @@ static int query_value(HKEY key, WCHAR *value_name, WCHAR *path, BOOL recurse)
num_values_found++;
}
- HeapFree(GetProcessHeap(), 0, data);
+ heap_free(data);
if (!recurse)
{
@@ -704,13 +709,13 @@ static int query_value(HKEY key, WCHAR *value_name, WCHAR *path, BOOL recurse)
query_value(subkey, value_name, subkey_path, recurse);
RegCloseKey(subkey);
}
- HeapFree(GetProcessHeap(), 0, subkey_path);
+ heap_free(subkey_path);
i++;
}
else break;
}
- HeapFree(GetProcessHeap(), 0, subkey_name);
+ heap_free(subkey_name);
return 0;
}
@@ -760,8 +765,8 @@ static int query_all(HKEY key, WCHAR *path, BOOL recurse)
else break;
}
- HeapFree(GetProcessHeap(), 0, data);
- HeapFree(GetProcessHeap(), 0, value_name);
+ heap_free(data);
+ heap_free(value_name);
if (i || recurse)
output_string(newlineW);
@@ -785,7 +790,7 @@ static int query_all(HKEY key, WCHAR *path, BOOL recurse)
query_all(subkey, subkey_path, recurse);
RegCloseKey(subkey);
}
- HeapFree(GetProcessHeap(), 0, subkey_path);
+ heap_free(subkey_path);
}
else output_string(fmt_path, path, subkey_name);
i++;
@@ -793,7 +798,7 @@ static int query_all(HKEY key, WCHAR *path, BOOL recurse)
else break;
}
- HeapFree(GetProcessHeap(), 0, subkey_name);
+ heap_free(subkey_name);
if (i && !recurse)
output_string(newlineW);
--
2.13.2
More information about the wine-patches
mailing list