- Use StringCbCopyW
[PROGMAN]
- Use StringCbCopyW: CID #
1363712.
- Don't read registry values in a registry key if we failed to open it. CID #514350.
svn path=/trunk/; revision=71912
if (IS_INTRESOURCE(lpszName))
swprintf(szName, L"%u", lpszName);
else
if (IS_INTRESOURCE(lpszName))
swprintf(szName, L"%u", lpszName);
else
- wcscpy(szName, lpszName);
+ StringCbCopyW(szName, sizeof(szName), lpszName);
hIcon = (HICON)LoadImageW(hModule, lpszName, IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR);
if (hIcon == NULL)
hIcon = (HICON)LoadImageW(hModule, lpszName, IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR);
if (hIcon == NULL)
DWORD dwSize;
DWORD dwType;
DWORD dwSize;
DWORD dwType;
+ ExecuteContext.hKeyPMRecentFilesList = NULL;
+ ExecuteContext.bCheckBinaryType = TRUE;
+
lRet = RegCreateKeyExW(Globals.hKeyProgMan,
L"Recent File List",
0,
lRet = RegCreateKeyExW(Globals.hKeyProgMan,
L"Recent File List",
0,
NULL,
&ExecuteContext.hKeyPMRecentFilesList,
NULL);
NULL,
&ExecuteContext.hKeyPMRecentFilesList,
NULL);
-
- dwSize = sizeof(ExecuteContext.dwMaxFiles);
- lRet = RegQueryValueExW(ExecuteContext.hKeyPMRecentFilesList,
- L"Max Files",
- NULL,
- &dwType,
- (LPBYTE)&ExecuteContext.dwMaxFiles,
- &dwSize);
- if (lRet != ERROR_SUCCESS || dwType != REG_DWORD)
+ if (lRet == ERROR_SUCCESS)
- ExecuteContext.dwMaxFiles = 4;
dwSize = sizeof(ExecuteContext.dwMaxFiles);
dwSize = sizeof(ExecuteContext.dwMaxFiles);
- lRet = RegSetValueExW(ExecuteContext.hKeyPMRecentFilesList,
- L"Max Files",
- 0,
- REG_DWORD,
- (LPBYTE)&ExecuteContext.dwMaxFiles,
- sizeof(ExecuteContext.dwMaxFiles));
- }
+ lRet = RegQueryValueExW(ExecuteContext.hKeyPMRecentFilesList,
+ L"Max Files",
+ NULL,
+ &dwType,
+ (LPBYTE)&ExecuteContext.dwMaxFiles,
+ &dwSize);
+ if (lRet != ERROR_SUCCESS || dwType != REG_DWORD)
+ {
+ ExecuteContext.dwMaxFiles = 4;
+ dwSize = sizeof(ExecuteContext.dwMaxFiles);
+ lRet = RegSetValueExW(ExecuteContext.hKeyPMRecentFilesList,
+ L"Max Files",
+ 0,
+ REG_DWORD,
+ (LPBYTE)&ExecuteContext.dwMaxFiles,
+ sizeof(ExecuteContext.dwMaxFiles));
+ }
- dwSize = sizeof(ExecuteContext.bCheckBinaryType);
- lRet = RegQueryValueExW(Globals.hKeyPMSettings,
- L"CheckBinaryType",
- NULL,
- &dwType,
- (LPBYTE)&ExecuteContext.bCheckBinaryType,
- &dwSize);
- if (lRet != ERROR_SUCCESS || dwType != REG_DWORD)
- {
- ExecuteContext.bCheckBinaryType = TRUE;
+ dwSize = sizeof(ExecuteContext.bCheckBinaryType);
+ lRet = RegQueryValueExW(Globals.hKeyPMSettings,
+ L"CheckBinaryType",
+ NULL,
+ &dwType,
+ (LPBYTE)&ExecuteContext.bCheckBinaryType,
+ &dwSize);
+ if (lRet != ERROR_SUCCESS || dwType != REG_DWORD)
+ {
+ ExecuteContext.bCheckBinaryType = TRUE;
+ }
}
DialogBoxParamW(Globals.hInstance, MAKEINTRESOURCEW(IDD_EXECUTE), Globals.hMainWnd, DIALOG_EXECUTE_DlgProc, (LPARAM)&ExecuteContext);
}
DialogBoxParamW(Globals.hInstance, MAKEINTRESOURCEW(IDD_EXECUTE), Globals.hMainWnd, DIALOG_EXECUTE_DlgProc, (LPARAM)&ExecuteContext);
- RegCloseKey(ExecuteContext.hKeyPMRecentFilesList);
+ if (ExecuteContext.hKeyPMRecentFilesList)
+ RegCloseKey(ExecuteContext.hKeyPMRecentFilesList);
if (IS_INTRESOURCE(lpszName))
swprintf(szName, L"%u", (DWORD)lpszName);
else
if (IS_INTRESOURCE(lpszName))
swprintf(szName, L"%u", (DWORD)lpszName);
else
- wcscpy(szName, (WCHAR*)lpszName);
+ StringCbCopyW(szName, sizeof(szName), lpszName);
hIcon = LoadIconW(hModule, lpszName);
if (hIcon == NULL)
hIcon = LoadIconW(hModule, lpszName);
if (hIcon == NULL)