[PATCH] shlwapi: Sync SHRegSetPath() from shcore.

Serge Gautherie winehq-git_serge_180711 at gautherie.fr
Mon May 11 05:00:13 CDT 2020


Signed-off-by: Serge Gautherie <winehq-git_serge_180711 at gautherie.fr>
---
See https://jira.reactos.org/browse/CORE-8880
Remove useless code, especially potentially unsafe lstrcpy().
NB:
There is another potentially unsafe lstrcpy() in SHRegGetCLSIDKeyW,
which I am not fixing.
---
 dlls/shlwapi/reg.c | 26 ++++++++------------------
 1 file changed, 8 insertions(+), 18 deletions(-)

diff --git a/dlls/shlwapi/reg.c b/dlls/shlwapi/reg.c
index f89636b..c150128 100644
--- a/dlls/shlwapi/reg.c
+++ b/dlls/shlwapi/reg.c
@@ -111,17 +111,12 @@ DWORD WINAPI SHRegGetPathW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue,
 DWORD WINAPI SHRegSetPathA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue,
                            LPCSTR lpszPath, DWORD dwFlags)
 {
-  char szBuff[MAX_PATH];
+  FIXME("(%p, %s, %s, %s, %#x) - semi-stub\n", hKey, debugstr_a(lpszSubKey),
+        debugstr_a(lpszValue), debugstr_a(lpszPath), dwFlags);
 
-  FIXME("(hkey=%p,%s,%s,%p,%d) - semi-stub\n",hKey, debugstr_a(lpszSubKey),
-        debugstr_a(lpszValue), lpszPath, dwFlags);
-
-  lstrcpyA(szBuff, lpszPath);
-
-  /* FIXME: PathUnExpandEnvStringsA(szBuff); */
+  /* FIXME: PathUnExpandEnvStringsA(); */
 
-  return SHSetValueA(hKey,lpszSubKey, lpszValue, REG_SZ, szBuff,
-                     lstrlenA(szBuff));
+  return SHSetValueA(hKey,lpszSubKey, lpszValue, REG_SZ, lpszPath, lstrlenA(lpszPath));
 }
 
 /*************************************************************************
@@ -132,17 +127,12 @@ DWORD WINAPI SHRegSetPathA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue,
 DWORD WINAPI SHRegSetPathW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue,
                            LPCWSTR lpszPath, DWORD dwFlags)
 {
-  WCHAR szBuff[MAX_PATH];
-
-  FIXME("(hkey=%p,%s,%s,%p,%d) - semi-stub\n",hKey, debugstr_w(lpszSubKey),
-        debugstr_w(lpszValue), lpszPath, dwFlags);
-
-  lstrcpyW(szBuff, lpszPath);
+  FIXME("(%p, %s, %s, %s, %#x) - semi-stub\n", hKey, debugstr_w(lpszSubKey),
+        debugstr_w(lpszValue), debugstr_w(lpszPath), dwFlags);
 
-  /* FIXME: PathUnExpandEnvStringsW(szBuff); */
+  /* FIXME: PathUnExpandEnvStringsW(); */
 
-  return SHSetValueW(hKey,lpszSubKey, lpszValue, REG_SZ, szBuff,
-                     lstrlenW(szBuff));
+  return SHSetValueW(hKey,lpszSubKey, lpszValue, REG_SZ, lpszPath, lstrlenW(lpszPath));
 }
 
 /*************************************************************************
-- 
2.10.0.windows.1




More information about the wine-devel mailing list