From 35d02d76bffba0b2ab598ac1151cc02e47ad197e Mon Sep 17 00:00:00 2001 From: xli24 Date: Wed, 6 Dec 2006 09:04:37 +0000 Subject: [PATCH] Merge R8 tracker #8375. Make GetVariable() check Data parameter, and return EFI_INVALID_PARAMETER if it is NULL and DataSize is enough, according to UEFI spec. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2061 6f19259b-4bc3-4df7-8a09-765794883524 --- EdkModulePkg/Universal/EmuVariable/RuntimeDxe/EmuVariable.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/EdkModulePkg/Universal/EmuVariable/RuntimeDxe/EmuVariable.c b/EdkModulePkg/Universal/EmuVariable/RuntimeDxe/EmuVariable.c index 093705c60d..b44da1c474 100644 --- a/EdkModulePkg/Universal/EmuVariable/RuntimeDxe/EmuVariable.c +++ b/EdkModulePkg/Universal/EmuVariable/RuntimeDxe/EmuVariable.c @@ -336,8 +336,12 @@ Returns: // VarDataSize = Variable.CurrPtr->DataSize; if (*DataSize >= VarDataSize) { + if (Data == NULL) { + return EFI_INVALID_PARAMETER; + } + CopyMem (Data, GetVariableDataPtr (Variable.CurrPtr), VarDataSize); - if (Attributes) { + if (Attributes != NULL) { *Attributes = Variable.CurrPtr->Attributes; } -- 2.39.2