aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/cabextract.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/cabextract.cpp')
-rw-r--r--src/burn/engine/cabextract.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/burn/engine/cabextract.cpp b/src/burn/engine/cabextract.cpp
index 5663c3f7..2140130d 100644
--- a/src/burn/engine/cabextract.cpp
+++ b/src/burn/engine/cabextract.cpp
@@ -833,9 +833,13 @@ static UINT FAR DIAMONDAPI CabWrite(
833 833
834 case BURN_CAB_OPERATION_STREAM_TO_BUFFER: 834 case BURN_CAB_OPERATION_STREAM_TO_BUFFER:
835 // copy to target buffer 835 // copy to target buffer
836 memcpy_s(pContext->Cabinet.pbTargetBuffer + pContext->Cabinet.iTargetBuffer, pContext->Cabinet.cbTargetBuffer - pContext->Cabinet.iTargetBuffer, pv, cb); 836 if (memcpy_s(pContext->Cabinet.pbTargetBuffer + pContext->Cabinet.iTargetBuffer, pContext->Cabinet.cbTargetBuffer - pContext->Cabinet.iTargetBuffer, pv, cb))
837 pContext->Cabinet.iTargetBuffer += cb; 837 {
838 hr = E_INSUFFICIENT_BUFFER;
839 ExitOnRootFailure(hr, "Failed to copy data to target buffer during cabinet extraction.");
840 }
838 841
842 pContext->Cabinet.iTargetBuffer += cb;
839 cbWrite = cb; 843 cbWrite = cb;
840 break; 844 break;
841 845