summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorShenglei Zhang <shenglei.zhang@intel.com>2019-10-15 13:51:55 +0800
committerLiming Gao <liming.gao@intel.com>2019-11-04 08:56:06 +0800
commitd3eac77eebe995553e5d0ab5fbab54e5d5d9c95f (patch)
tree5942e9c3717a8aeae1ef1ee867b697cc4bc19141 /MdeModulePkg
parentdf50c2fcd85e24cbece9f03f2879fdcc96096ab1 (diff)
downloadedk2-d3eac77eebe995553e5d0ab5fbab54e5d5d9c95f.tar.gz
edk2-d3eac77eebe995553e5d0ab5fbab54e5d5d9c95f.tar.bz2
edk2-d3eac77eebe995553e5d0ab5fbab54e5d5d9c95f.zip
MdeModulePkg/SdBlockIoPei: Add check for DeviceIndex
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>
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.c b/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.c
index 8fa58d65b2..1d53fcd23e 100644
--- a/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.c
+++ b/MdeModulePkg/Bus/Sd/SdBlockIoPei/SdBlockIoPei.c
@@ -174,7 +174,7 @@ SdBlockIoPeimGetMediaInfo (
Private = GET_SD_PEIM_HC_PRIVATE_DATA_FROM_THIS (This);
- if ((DeviceIndex == 0) || (DeviceIndex > Private->TotalBlkIoDevices)) {
+ if ((DeviceIndex == 0) || (DeviceIndex > Private->TotalBlkIoDevices) || (DeviceIndex > SD_PEIM_MAX_SLOTS)) {
return EFI_INVALID_PARAMETER;
}
@@ -252,7 +252,7 @@ SdBlockIoPeimReadBlocks (
return EFI_SUCCESS;
}
- if ((DeviceIndex == 0) || (DeviceIndex > Private->TotalBlkIoDevices)) {
+ if ((DeviceIndex == 0) || (DeviceIndex > Private->TotalBlkIoDevices) || (DeviceIndex > SD_PEIM_MAX_SLOTS)) {
return EFI_INVALID_PARAMETER;
}