]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/PciBusDxe: Fix possible uninitialized use
authorSergei Dmitrouk <sergei@posteo.net>
Tue, 18 May 2021 16:09:41 +0000 (00:09 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Wed, 19 May 2021 01:39:49 +0000 (01:39 +0000)
If the function gets invalid value for the `ResizableBarOp` parameter
and asserts are disabled, `Bit` can be used uninitialized.

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Sergei Dmitrouk <sergei@posteo.net>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c

index 6bba2836716520f8f1f55d30b08cff9f002d1030..4caac56f1dcd8c2a7b73bd008fe118c4d1aa6942 100644 (file)
@@ -1778,10 +1778,9 @@ PciProgramResizableBar (
 \r
     if (ResizableBarOp == PciResizableBarMax) {\r
       Bit = HighBitSet64(Capabilities);\r
-    } else if (ResizableBarOp == PciResizableBarMin) {\r
-      Bit = LowBitSet64(Capabilities);\r
     } else {\r
-      ASSERT ((ResizableBarOp == PciResizableBarMax) || (ResizableBarOp == PciResizableBarMin));\r
+      ASSERT (ResizableBarOp == PciResizableBarMin);\r
+      Bit = LowBitSet64(Capabilities);\r
     }\r
 \r
     ASSERT (Bit >= 0);\r