[PATCH 1/2 v2] reg: Account for sizeof(WCHAR) when resizing the value name buffer during the query operation

Hugh McMaster hugh.mcmaster at outlook.com
Fri Jul 21 08:03:51 CDT 2017


Changes since v1:
 - Handle HeapReAlloc() failure

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
 programs/reg/reg.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index a6927d0e7e..59c8eda732 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -768,8 +768,17 @@ static int query_all(HKEY key, WCHAR *path, BOOL recurse)
             }
             else
             {
+                WCHAR *tmp = HeapReAlloc(GetProcessHeap(), 0, value_name,
+                                         max_value_len * 2 * sizeof(WCHAR));
+                if (!tmp)
+                {
+                    ERR("Failed to increase value_name memory allocation\n");
+                    HeapFree(GetProcessHeap(), 0, value_name);
+                    HeapFree(GetProcessHeap(), 0, data);
+                    return 1;
+                }
+                value_name = tmp;
                 max_value_len *= 2;
-                value_name = HeapReAlloc(GetProcessHeap(), 0, value_name, max_value_len);
             }
         }
         else break;
-- 
2.13.2




More information about the wine-patches mailing list