From 75d8081dc6c6dda04f583c01c301e3c7b8087904 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 20 Mar 2019 21:53:19 +0000 Subject: [PATCH] regedit: Grow the buffer when modifying a DWORD value. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=19098 Signed-off-by: Alistair Leslie-Hughes Signed-off-by: Alexandre Julliard --- programs/regedit/edit.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/programs/regedit/edit.c b/programs/regedit/edit.c index a3cf17b993a..5f2cc52759e 100644 --- a/programs/regedit/edit.c +++ b/programs/regedit/edit.c @@ -283,7 +283,9 @@ BOOL ModifyValue(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath, LPCWSTR valueName) } } else if ( type == REG_DWORD ) { static const WCHAR x[] = {'%','x',0}; - wsprintfW(stringValueData, x, *((DWORD*)stringValueData)); + DWORD value = *((DWORD*)stringValueData); + stringValueData = heap_xrealloc(stringValueData, 64); + wsprintfW(stringValueData, x, value); if (DialogBoxW(0, MAKEINTRESOURCEW(IDD_EDIT_DWORD), hwnd, modify_dlgproc) == IDOK) { DWORD val; CHAR* valueA = GetMultiByteString(stringValueData);