Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Laszlo Ersek 7eb3bb6c55 ShellPkg/UefiHandleParsingLib: fix retval for empty child controller array
The ParseHandleDatabaseForChildControllers() function intends to work like
this:

(1) It allocates a "HandleBufferForReturn" local array that's guaranteed
    to be big enough for all found handles,

(2) it collects the handles, both counting them in the (mandatory)
    "MatchingHandleCount" output parameter, and saving them in the local
    "HandleBufferForReturn" array,

(3) if the caller is not interested in the actual handles, then
    "HandleBufferForReturn" is released,

(4) if the caller is interested in the handles, and we've found some, then
    "HandleBufferForReturn" is passed out through the
    "MatchingHandleBuffer" output parameter,

(5) if the caller is interested in the actual handles, but we've found
    none, then the "MatchingHandleBuffer" output parameter is set to NULL.

The ASSERT() at the end of the function makes this clear, but the
implementation does not conform to (5). Fix it.

Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Tapan Shah <tapandshah@hpe.com>
Reported-by: Tapan Shah <tapandshah@hpe.com>
Ref: https://tianocore.acgmultimedia.com/show_bug.cgi?id=112
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Tapan Shah <tapandshah@hpe.com>
2016-09-08 20:43:37 +02:00
AppPkg AppPkg/.../Python: Clean up and document how to escape the -# option. 2016-01-06 01:00:19 +00:00
ArmPkg ArmPkg/ArmBaseLib: clean up directory structure 2016-09-08 16:49:15 +01:00
ArmPlatformPkg ArmPlatformPkg: remove EFI_MEMORY_UC attribute from normal memory 2016-09-08 10:35:33 +01:00
ArmVirtPkg ArmVirtPkg: restrict mapping attributes of normal memory to EFI_MEMORY_WB 2016-09-08 10:35:22 +01:00
BaseTools BaseTools VfrCompile Pccts: Update GCC Flags to the specific one with BUILD_ prefix 2016-09-08 13:05:11 +08:00
BeagleBoardPkg BeagleBoardPkg EmbeddedPkg Omap35xxPkg: move to ArmBaseLib 2016-09-08 09:20:36 +01:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg/SecCore: Adding NASM files in SecCore module 2016-08-03 17:20:17 -07:00
CorebootPayloadPkg CorebootPayloadPkg/ResetSystemLib: Implement ResetPlatformSpecific 2016-09-02 10:07:15 +08:00
CryptoPkg CryptoPkg: Fix "responsiblity" typos 2016-08-11 15:21:49 +08:00
DuetPkg DuetPkg: Add DxeMpInitLib instance reference 2016-08-19 15:09:26 +08:00
EdkCompatibilityPkg EdkCompatibilityPkg: Fix GCC build failure 2016-08-01 12:44:44 +08:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg BeagleBoardPkg EmbeddedPkg Omap35xxPkg: move to ArmBaseLib 2016-09-08 09:20:36 +01:00
EmulatorPkg BaseTools GCC: use 'gcc' as the linker command for GCC44 and later 2016-08-02 08:40:43 +02:00
FatBinPkg FatBinPkg: Change to 2-clause BSD license 2016-04-22 00:55:21 -07:00
FatPkg FatPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:03 +08:00
IntelFrameworkModulePkg IntelFrameworkModulePkg: Use IsZeroGuid API for zero GUID checking 2016-08-31 11:13:49 +08:00
IntelFrameworkPkg IntelFrameworkPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:04 +08:00
IntelFsp2Pkg IntelFsp2Pkg: Fix typo and comments 2016-08-31 14:27:54 +08:00
IntelFsp2WrapperPkg IntelFsp2WrapperPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:05 +08:00
IntelFspPkg IntelFspPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:06 +08:00
IntelFspWrapperPkg IntelFspWrapperPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:06 +08:00
IntelSiliconPkg IntelSiliconPkg: Rename IGD structures to make it consistent 2016-09-03 06:14:18 +08:00
MdeModulePkg MdeModulePkg/PciHostBridgeDxe: restrict 64-bit DMA to devices that support it 2016-09-06 15:46:38 +01:00
MdePkg MdePkg/UefiSpec.h: Align function header of ResetSystem to UEFI Spec 2016-09-02 10:07:13 +08:00
NetworkPkg NetworkPkg/DnsDxe: Handle CNAME type responded from the name server 2016-09-07 14:28:17 +08:00
Nt32Pkg Nt32Pkg PlatformBootManagerLib: Enable BootManagerMenuApp. 2016-09-02 10:11:20 +08:00
Omap35xxPkg BeagleBoardPkg EmbeddedPkg Omap35xxPkg: move to ArmBaseLib 2016-09-08 09:20:36 +01:00
OptionRomPkg OptionRomPkg: Fix typos in comments 2016-07-11 10:29:47 +08:00
OvmfPkg OvmfPkg/QemuBootOrderLib: drop too strict "/HD(" suffix from vblk prefix 2016-09-08 10:04:09 +02:00
PcAtChipsetPkg PcAtChipsetPkg: Remove KbcResetDxe 2016-09-02 10:07:17 +08:00
PerformancePkg PerformancePkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:09 +08:00
QuarkPlatformPkg QuarkPlatformPkg: Declare PciSegmentLib in platform dsc 2016-09-05 18:15:25 +08:00
QuarkSocPkg QuarkSocPkg/QuarkSocPkg.dsc: Declare PciSegmentLib 2016-09-05 18:15:38 +08:00
SecurityPkg SecurityPkg/SecurityPkg.dsc: Declare PciSegmentLib 2016-09-05 18:15:45 +08:00
ShellBinPkg ShellBinPkg Arm/AArch64 Shell binary update 2016-08-02 12:25:13 +02:00
ShellPkg ShellPkg/UefiHandleParsingLib: fix retval for empty child controller array 2016-09-08 20:43:37 +02:00
SourceLevelDebugPkg UefiCpuPkg/LocalApic.h: Remove duplicated/conflicted definitions 2016-08-17 19:54:41 +08:00
StdLib StdLib/LibC ARM AARCH64: do not redefine compiler intrinsics 2016-08-09 10:10:12 +02:00
StdLibPrivateInternalFiles StdLib: Clarify and improve comments. 2016-01-06 00:31:42 +00:00
UefiCpuPkg UefiCpuPkg/XeonPhiMsr.h: add MSR reference from SDM in comment 2016-09-08 09:18:08 +08:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Vlv2DeviceRefCodePkg/ValleyView2Soc: Remove the unused code 2016-08-03 11:02:19 +08:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg/dec: Correct wrong default value. 2016-09-07 16:44:41 +08:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt BaseTools: Updated BuildNotes URLs 2016-03-25 09:46:44 +08:00
Edk2Setup.bat BaseTools: Update Edk2Setup.bat to support multiple workspaces 2015-10-08 09:29:36 +00:00
Maintainers.txt Maintainers.txt: Add Giri as IntelFsp2*Pkg, IntelSiliconPkg maintainer 2016-09-08 23:36:45 +08:00
edksetup.bat Update edksetup.bat to check NASM system environment variable 2016-07-26 10:16:48 +08:00
edksetup.sh BaseTools: Update edksetup.sh to support multiple workspaces 2015-10-08 09:29:56 +00:00