From 7c3c2cad3c5e95fac151debc89c2f5629b4c6b21 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Fri, 30 Jan 2026 15:18:43 -0800 Subject: Many small code quality fixes --- src/burn/engine/cabextract.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/burn/engine/cabextract.cpp') 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( case BURN_CAB_OPERATION_STREAM_TO_BUFFER: // copy to target buffer - memcpy_s(pContext->Cabinet.pbTargetBuffer + pContext->Cabinet.iTargetBuffer, pContext->Cabinet.cbTargetBuffer - pContext->Cabinet.iTargetBuffer, pv, cb); - pContext->Cabinet.iTargetBuffer += cb; + if (memcpy_s(pContext->Cabinet.pbTargetBuffer + pContext->Cabinet.iTargetBuffer, pContext->Cabinet.cbTargetBuffer - pContext->Cabinet.iTargetBuffer, pv, cb)) + { + hr = E_INSUFFICIENT_BUFFER; + ExitOnRootFailure(hr, "Failed to copy data to target buffer during cabinet extraction."); + } + pContext->Cabinet.iTargetBuffer += cb; cbWrite = cb; break; -- cgit v1.2.3-55-g6feb