summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2018-02-24 16:02:07 +0800
committerStar Zeng <star.zeng@intel.com>2018-02-26 14:03:23 +0800
commitf068aa038d09053c5dddea93c5f9576c51993546 (patch)
tree53e7325ade90c1d01d1e79a178739c1e80438dce
parenta4e754fcc99e3a1eddd70081d027189e75a8e850 (diff)
downloadedk2-f068aa038d09053c5dddea93c5f9576c51993546.tar.gz
edk2-f068aa038d09053c5dddea93c5f9576c51993546.tar.bz2
edk2-f068aa038d09053c5dddea93c5f9576c51993546.zip
MdeModulePkg SmmLockBox: Return updated Length for EFI_BUFFER_TOO_SMALL
The updated Length value should be returned for EFI_BUFFER_TOO_SMALL case. Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
-rw-r--r--MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.c b/MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.c
index 2dc8815f2e..d4183ca4b0 100644
--- a/MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.c
+++ b/MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.c
@@ -9,7 +9,7 @@
SmmLockBoxHandler(), SmmLockBoxRestore(), SmmLockBoxUpdate(), SmmLockBoxSave()
will receive untrusted input and do basic validation.
-Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions
@@ -217,6 +217,9 @@ SmmLockBoxRestore (
(VOID *)(UINTN)TempLockBoxParameterRestore.Buffer,
(UINTN *)&TempLockBoxParameterRestore.Length
);
+ if (Status == EFI_BUFFER_TOO_SMALL) {
+ LockBoxParameterRestore->Length = TempLockBoxParameterRestore.Length;
+ }
}
LockBoxParameterRestore->Header.ReturnStatus = (UINT64)Status;
return ;