Module: wine Branch: master Commit: e5685804471c7a600e5b775fb4676e095d62d2bb URL: http://source.winehq.org/git/wine.git/?a=commit;h=e5685804471c7a600e5b775fb4...
Author: Alexandre Julliard julliard@winehq.org Date: Tue May 13 20:27:11 2008 +0200
regedit: Fix editing and exporting of zero-size strings.
---
programs/regedit/edit.c | 4 ++-- programs/regedit/regproc.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/programs/regedit/edit.c b/programs/regedit/edit.c index 31645a7..40a0834 100644 --- a/programs/regedit/edit.c +++ b/programs/regedit/edit.c @@ -224,7 +224,7 @@ static LPTSTR read_value(HWND hwnd, HKEY hKey, LPCTSTR valueName, DWORD *lpType, goto done; } if ( *lpType == REG_DWORD ) valueDataLen = sizeof(DWORD); - if (!(buffer = HeapAlloc(GetProcessHeap(), 0, valueDataLen))) { + if (!(buffer = HeapAlloc(GetProcessHeap(), 0, valueDataLen+1))) { error(hwnd, IDS_TOO_BIG_VALUE, valueDataLen); goto done; } @@ -233,7 +233,7 @@ static LPTSTR read_value(HWND hwnd, HKEY hKey, LPCTSTR valueName, DWORD *lpType, error(hwnd, IDS_BAD_VALUE, valueName); goto done; } - + buffer[valueDataLen] = 0; if(len) *len = valueDataLen; return buffer;
diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c index 85ab36b..b91cbf5 100644 --- a/programs/regedit/regproc.c +++ b/programs/regedit/regproc.c @@ -764,7 +764,7 @@ static void export_hkey(FILE *file, HKEY key, case REG_SZ: case REG_EXPAND_SZ: fputs(""", file); - REGPROC_export_string(file, (char*) *val_buf); + if (val_size1) REGPROC_export_string(file, (char*) *val_buf); fputs(""\n", file); break;