]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/SdBlockIoPei: Add check for DeviceIndex
authorShenglei Zhang <shenglei.zhang@intel.com>
Tue, 15 Oct 2019 05:51:55 +0000 (13:51 +0800)
committerLiming Gao <liming.gao@intel.com>
Mon, 4 Nov 2019 00:56:06 +0000 (08:56 +0800)
DeviceIndex is used as index in Slot[]. The max size of Slot[]
is SD_PEIM_MAX_SLOTS. So DeviceIndex should be checked before used.

Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.c

index 8fa58d65b22c7e5d49a741aed95c35d440f09ee0..1d53fcd23e9c4c5b0e5358aef584560084b676c6 100644 (file)
@@ -174,7 +174,7 @@ SdBlockIoPeimGetMediaInfo (
 \r
   Private   = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);\r
 \r
-  if ((DeviceIndex == 0) || (DeviceIndex > Private->TotalBlkIoDevices)) {\r
+  if ((DeviceIndex == 0) || (DeviceIndex > Private->TotalBlkIoDevices) || (DeviceIndex > SD_PEIM_MAX_SLOTS)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -252,7 +252,7 @@ SdBlockIoPeimReadBlocks (
     return EFI_SUCCESS;\r
   }\r
 \r
-  if ((DeviceIndex == 0) || (DeviceIndex > Private->TotalBlkIoDevices)) {\r
+  if ((DeviceIndex == 0) || (DeviceIndex > Private->TotalBlkIoDevices) || (DeviceIndex > SD_PEIM_MAX_SLOTS)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r