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."); |