diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2021-04-28 16:36:56 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2021-04-29 13:58:14 -0500 |
commit | bcd3ee7ab858d62beb36af9f5986544b68a3dd35 (patch) | |
tree | 424c4e61a580b7c4b7481712f69ab0193d76b9c4 /src/dutil/verutil.cpp | |
parent | d73c29407fe5ec6a0207af7d9c2547457ae0854c (diff) | |
download | wix-bcd3ee7ab858d62beb36af9f5986544b68a3dd35.tar.gz wix-bcd3ee7ab858d62beb36af9f5986544b68a3dd35.tar.bz2 wix-bcd3ee7ab858d62beb36af9f5986544b68a3dd35.zip |
Clean up more 32-bit assumptions.
Diffstat (limited to 'src/dutil/verutil.cpp')
-rw-r--r-- | src/dutil/verutil.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/dutil/verutil.cpp b/src/dutil/verutil.cpp index fdb5a10a..21626f94 100644 --- a/src/dutil/verutil.cpp +++ b/src/dutil/verutil.cpp | |||
@@ -244,7 +244,7 @@ DAPI_(void) VerFreeVersion( | |||
244 | 244 | ||
245 | DAPI_(HRESULT) VerParseVersion( | 245 | DAPI_(HRESULT) VerParseVersion( |
246 | __in_z LPCWSTR wzVersion, | 246 | __in_z LPCWSTR wzVersion, |
247 | __in DWORD cchVersion, | 247 | __in SIZE_T cchVersion, |
248 | __in BOOL fStrict, | 248 | __in BOOL fStrict, |
249 | __out VERUTIL_VERSION** ppVersion | 249 | __out VERUTIL_VERSION** ppVersion |
250 | ) | 250 | ) |
@@ -267,9 +267,14 @@ DAPI_(HRESULT) VerParseVersion( | |||
267 | } | 267 | } |
268 | 268 | ||
269 | // Get string length if not provided. | 269 | // Get string length if not provided. |
270 | if (0 == cchVersion) | 270 | if (!cchVersion) |
271 | { | 271 | { |
272 | cchVersion = lstrlenW(wzVersion); | 272 | hr = ::StringCchLengthW(wzVersion, STRSAFE_MAX_CCH, reinterpret_cast<size_t*>(&cchVersion)); |
273 | VerExitOnRootFailure(hr, "Failed to get length of version string: %ls", wzVersion); | ||
274 | } | ||
275 | else if (INT_MAX < cchVersion) | ||
276 | { | ||
277 | VerExitOnRootFailure(hr = E_INVALIDARG, "Version string is too long: %Iu", cchVersion); | ||
273 | } | 278 | } |
274 | 279 | ||
275 | if (L'v' == *wzVersion || L'V' == *wzVersion) | 280 | if (L'v' == *wzVersion || L'V' == *wzVersion) |