From: Star Zeng Date: Thu, 22 Jun 2017 07:22:33 +0000 (+0800) Subject: ShellPkg DmpStore: Make NameSize to be consistent with name buffer X-Git-Tag: edk2-stable201903~3890 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=980af1eb0b7ad7a55fc51231a7fd537529319371;p=mirror_edk2.git ShellPkg DmpStore: Make NameSize to be consistent with name buffer Current code will allocate pool to hold the null char for name buffer when PrevName==NULL, but the NameSize is still 0. For this case, GetNextVariableName will return EFI_INVALID_PARAMETER to follow UEFI 2.7 spec. UEFI 2.7 spec: The VariableNameSize must not be smaller the size of the variable name string passed to GetNextVariableName() on input in the VariableName buffer. EFI_INVALID_PARAMETER Null-terminator is not found in the first VariableNameSize bytes of the input VariableName buffer. This patch is to make NameSize to be consistent with name buffer. Cc: Ruiyu Ni Cc: Jaben Carsey Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng Reviewed-by: Ruiyu Ni --- diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/DmpStore.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/DmpStore.c index 23db54553f..aeffc89b19 100644 --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/DmpStore.c +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/DmpStore.c @@ -436,6 +436,7 @@ CascadeProcessVariables ( StrnCatGrow(&FoundVarName, &NameSize, PrevName, 0); } else { FoundVarName = AllocateZeroPool(sizeof(CHAR16)); + NameSize = sizeof(CHAR16); } Status = gRT->GetNextVariableName (&NameSize, FoundVarName, &FoundVarGuid);