From 4c79f9bc2037e08fa14cb538d19dd43299c17c6d Mon Sep 17 00:00:00 2001 From: Sergei Dmitrouk Date: Wed, 19 May 2021 00:09:41 +0800 Subject: [PATCH] MdeModulePkg/PciBusDxe: Fix possible uninitialized use If the function gets invalid value for the `ResizableBarOp` parameter and asserts are disabled, `Bit` can be used uninitialized. Cc: Jian J Wang Cc: Hao A Wu Cc: Ray Ni Signed-off-by: Sergei Dmitrouk Reviewed-by: Hao A Wu --- MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c index 6bba283671..4caac56f1d 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c @@ -1778,10 +1778,9 @@ PciProgramResizableBar ( if (ResizableBarOp == PciResizableBarMax) { Bit = HighBitSet64(Capabilities); - } else if (ResizableBarOp == PciResizableBarMin) { - Bit = LowBitSet64(Capabilities); } else { - ASSERT ((ResizableBarOp == PciResizableBarMax) || (ResizableBarOp == PciResizableBarMin)); + ASSERT (ResizableBarOp == PciResizableBarMin); + Bit = LowBitSet64(Capabilities); } ASSERT (Bit >= 0); -- 2.39.2