From: xli24 Date: Wed, 6 Dec 2006 09:04:37 +0000 (+0000) Subject: Merge R8 tracker #8375. X-Git-Tag: edk2-stable201903~23816 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=35d02d76bffba0b2ab598ac1151cc02e47ad197e 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 --- 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; }