Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/appwiz.cpl/appwiz.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/dlls/appwiz.cpl/appwiz.c b/dlls/appwiz.cpl/appwiz.c index ee26e5825f..0039ef1073 100644 --- a/dlls/appwiz.cpl/appwiz.c +++ b/dlls/appwiz.cpl/appwiz.c @@ -203,11 +203,12 @@ static BOOL ReadApplicationsFromRegistry(HKEY root) if (!RegQueryValueExW(hkeyApp, WindowsInstallerW, NULL, &dwType, (LPBYTE)&value, &size) && dwType == REG_DWORD && value == 1) { - static const WCHAR fmtW[] = {'m','s','i','e','x','e','c',' ','/','x','%','s',0}; - int len = lstrlenW(fmtW) + lstrlenW(subKeyName); + static const WCHAR fmtW[] = {'m','s','i','e','x','e','c',' ','/','x',0}; + int len = ARRAY_SIZE(fmtW) + lstrlenW(subKeyName);
if (!(command = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)))) goto err; - wsprintfW(command, fmtW, subKeyName); + lstrcpyW(command, fmtW); + lstrcpyW(command + ARRAY_SIZE(fmtW) - 1, subKeyName); } else if (!RegQueryValueExW(hkeyApp, UninstallCommandlineW, 0, 0, NULL, &uninstlen)) { @@ -289,11 +290,12 @@ static BOOL ReadApplicationsFromRegistry(HKEY root) if (!RegQueryValueExW(hkeyApp, WindowsInstallerW, NULL, &dwType, (LPBYTE)&value, &size) && dwType == REG_DWORD && value == 1) { - static const WCHAR fmtW[] = {'m','s','i','e','x','e','c',' ','/','i','%','s',0}; - int len = lstrlenW(fmtW) + lstrlenW(subKeyName); + static const WCHAR fmtW[] = {'m','s','i','e','x','e','c',' ','/','i',0}; + int len = ARRAY_SIZE(fmtW) + lstrlenW(subKeyName);
if (!(info->path_modify = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)))) goto err; - wsprintfW(info->path_modify, fmtW, subKeyName); + lstrcpyW(info->path_modify, fmtW); + lstrcpyW(info->path_modify + ARRAY_SIZE(fmtW) - 1, subKeyName); } else if (!RegQueryValueExW(hkeyApp, ModifyPathW, 0, 0, NULL, &displen)) {