X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=IntelFspPkg%2FFspSecCore%2FSecFsp.c;h=07aed1c1c06236f12681e25f63906e1663468414;hp=a9aba7108e338c971208d360d0499c1561c830a9;hb=b23441875c34bd15badb76e8d0b001ebd5d7010d;hpb=7669f7349829f0e4755552ba0d6e600492fd8170 diff --git a/IntelFspPkg/FspSecCore/SecFsp.c b/IntelFspPkg/FspSecCore/SecFsp.c index a9aba7108e..07aed1c1c0 100644 --- a/IntelFspPkg/FspSecCore/SecFsp.c +++ b/IntelFspPkg/FspSecCore/SecFsp.c @@ -265,7 +265,7 @@ FspApiCallingCheck ( // if ((UINT32)FspData != 0xFFFFFFFF) { Status = EFI_UNSUPPORTED; - } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0)) { + } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0) || (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam)))) { Status = EFI_INVALID_PARAMETER; } } else if (ApiIdx == 2) { @@ -285,7 +285,7 @@ FspApiCallingCheck ( // if ((UINT32)FspData != 0xFFFFFFFF) { Status = EFI_UNSUPPORTED; - } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0)) { + } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0) || (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam)))) { Status = EFI_INVALID_PARAMETER; } } else if (ApiIdx == 4) { @@ -308,6 +308,8 @@ FspApiCallingCheck ( } else { if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) { Status = EFI_UNSUPPORTED; + } else if (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam))) { + Status = EFI_INVALID_PARAMETER; } } } else {