]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.c
MdeModulePkg: Fix potential integer overflow issue
[mirror_edk2.git] / MdeModulePkg / Library / SmmLockBoxLib / SmmLockBoxSmmLib.c
index a332634aa7d66a411a2204e4a0bc4b10aa2e5e55..23a786d56ec5e14a2aec72debb085d7b26376fdf 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
-Copyright (c) 2010 ~ 2012, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
 \r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions\r
@@ -267,7 +267,15 @@ SaveLockBox (
   LockBox->Length      = (UINT64)Length;\r
   LockBox->Attributes  = 0;\r
   LockBox->SmramBuffer = SmramBuffer;\r
-  \r
+\r
+  DEBUG ((\r
+    EFI_D_INFO,\r
+    "LockBoxGuid - %g, SmramBuffer - 0x%lx, Length - 0x%lx\n",\r
+    &LockBox->Guid,\r
+    LockBox->SmramBuffer,\r
+    LockBox->Length\r
+    ));\r
+\r
   LockBoxQueue = InternalGetLockBoxQueue ();\r
   ASSERT (LockBoxQueue != NULL);\r
   InsertTailList (LockBoxQueue, &LockBox->Link);\r
@@ -386,6 +394,7 @@ UpdateLockBox (
     DEBUG ((EFI_D_INFO, "SmmLockBoxSmmLib UpdateLockBox - Exit (%r)\n", EFI_BUFFER_TOO_SMALL));\r
     return EFI_BUFFER_TOO_SMALL;\r
   }\r
+  ASSERT ((UINTN)LockBox->SmramBuffer <= (MAX_ADDRESS - Offset));\r
   CopyMem ((VOID *)((UINTN)LockBox->SmramBuffer + Offset), Buffer, Length);\r
 \r
   //\r