From: Eric Dong Date: Wed, 30 Jul 2014 01:19:21 +0000 (+0000) Subject: Refine code to make it more safely. X-Git-Tag: edk2-stable201903~11274 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=784952b1898a5a8b65143a88b56b2b231ca21522 Refine code to make it more safely. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong Reviewed-by: Liming Gao git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15720 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Expression.c b/MdeModulePkg/Universal/SetupBrowserDxe/Expression.c index 3b0172d124..e8829c1855 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Expression.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Expression.c @@ -1323,6 +1323,7 @@ IfrCatenate ( UINTN Size; UINT16 Length0; UINT16 Length1; + UINT8 *TmpBuf; // // String[0] - The second string @@ -1378,8 +1379,12 @@ IfrCatenate ( Result->Buffer = AllocateZeroPool (Result->BufferLen); ASSERT (Result->Buffer != NULL); - CopyMem (Result->Buffer, GetBufferForValue(&Value[0]), Length0); - CopyMem (&Result->Buffer[Length0], GetBufferForValue(&Value[1]), Length1); + TmpBuf = GetBufferForValue(&Value[0]); + ASSERT (TmpBuf != NULL); + CopyMem (Result->Buffer, TmpBuf, Length0); + TmpBuf = GetBufferForValue(&Value[1]); + ASSERT (TmpBuf != NULL); + CopyMem (&Result->Buffer[Length0], TmpBuf, Length1); } Done: if (Value[0].Buffer != NULL) {