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>
This commit is contained in:
Star Zeng 2018-02-24 16:02:07 +08:00
parent a4e754fcc9
commit f068aa038d
1 changed files with 4 additions and 1 deletions

View File

@ -9,7 +9,7 @@
SmmLockBoxHandler(), SmmLockBoxRestore(), SmmLockBoxUpdate(), SmmLockBoxSave() SmmLockBoxHandler(), SmmLockBoxRestore(), SmmLockBoxUpdate(), SmmLockBoxSave()
will receive untrusted input and do basic validation. 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 This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -217,6 +217,9 @@ SmmLockBoxRestore (
(VOID *)(UINTN)TempLockBoxParameterRestore.Buffer, (VOID *)(UINTN)TempLockBoxParameterRestore.Buffer,
(UINTN *)&TempLockBoxParameterRestore.Length (UINTN *)&TempLockBoxParameterRestore.Length
); );
if (Status == EFI_BUFFER_TOO_SMALL) {
LockBoxParameterRestore->Length = TempLockBoxParameterRestore.Length;
}
} }
LockBoxParameterRestore->Header.ReturnStatus = (UINT64)Status; LockBoxParameterRestore->Header.ReturnStatus = (UINT64)Status;
return ; return ;