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) |
