diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2022-05-26 17:32:45 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-05-31 13:20:44 -0500 |
| commit | 0f9931107ecf9e1f6714e6fd2cabc76d2ddb1153 (patch) | |
| tree | 0b20cc3b0fd9f21616d09420fa0c1a90c20a70a0 /src/libs/dutil/WixToolset.DUtil/buffutil.cpp | |
| parent | 6f062d1e816ff8d3127ddcbdc7ee0335873bbab8 (diff) | |
| download | wix-0f9931107ecf9e1f6714e6fd2cabc76d2ddb1153.tar.gz wix-0f9931107ecf9e1f6714e6fd2cabc76d2ddb1153.tar.bz2 wix-0f9931107ecf9e1f6714e6fd2cabc76d2ddb1153.zip | |
Add MemSizeChecked.
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/buffutil.cpp')
| -rw-r--r-- | src/libs/dutil/WixToolset.DUtil/buffutil.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/buffutil.cpp b/src/libs/dutil/WixToolset.DUtil/buffutil.cpp index b6d58cc0..acde4dc9 100644 --- a/src/libs/dutil/WixToolset.DUtil/buffutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/buffutil.cpp | |||
| @@ -508,10 +508,14 @@ static HRESULT EnsureBufferSize( | |||
| 508 | { | 508 | { |
| 509 | HRESULT hr = S_OK; | 509 | HRESULT hr = S_OK; |
| 510 | SIZE_T cbTarget = ((cbSize / BUFFER_INCREMENT) + 1) * BUFFER_INCREMENT; | 510 | SIZE_T cbTarget = ((cbSize / BUFFER_INCREMENT) + 1) * BUFFER_INCREMENT; |
| 511 | SIZE_T cbCurrent = 0; | ||
| 511 | 512 | ||
| 512 | if (*ppbBuffer) | 513 | if (*ppbBuffer) |
| 513 | { | 514 | { |
| 514 | if (MemSize(*ppbBuffer) < cbTarget) | 515 | hr = MemSizeChecked(*ppbBuffer, &cbCurrent); |
| 516 | BuffExitOnFailure(hr, "Failed to get current buffer size."); | ||
| 517 | |||
| 518 | if (cbCurrent < cbTarget) | ||
| 515 | { | 519 | { |
| 516 | LPVOID pv = MemReAlloc(*ppbBuffer, cbTarget, TRUE); | 520 | LPVOID pv = MemReAlloc(*ppbBuffer, cbTarget, TRUE); |
| 517 | BuffExitOnNull(pv, hr, E_OUTOFMEMORY, "Failed to reallocate buffer."); | 521 | BuffExitOnNull(pv, hr, E_OUTOFMEMORY, "Failed to reallocate buffer."); |
