Reviewed-by: jiewen....@intel.com
> -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Star > Zeng > Sent: Thursday, July 26, 2018 3:30 PM > To: edk2-devel@lists.01.org > Cc: Yao, Jiewen <jiewen....@intel.com>; Zeng, Star <star.z...@intel.com> > Subject: [edk2] [PATCH] MdeModulePkg DxeCapsuleLibFmp: Refine the code to > check FmpImageSize. > > The code to check FmpImageSize again OFFSET_OF > (EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER, > UpdateHardwareInstance) > can be refined to check against FmpImageHeaderSize. > > Cc: Jiewen Yao <jiewen....@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Star Zeng <star.z...@intel.com> > --- > MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c > b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c > index a1347b5ce67c..ee3adce2a2f2 100644 > --- a/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c > +++ b/MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.c > @@ -268,10 +268,6 @@ ValidateFmpCapsule ( > } > FmpImageSize = (UINTN)EndOfPayload - ItemOffsetList[Index]; > > - if (FmpImageSize < > OFFSET_OF(EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER, > UpdateHardwareInstance)) { > - DEBUG((DEBUG_ERROR, "FmpImageSize(0x%lx) < > EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER\n", > FmpImageSize)); > - return EFI_INVALID_PARAMETER; > - } > FmpImageHeaderSize = > sizeof(EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER); > if ((ImageHeader->Version > > EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION) || > (ImageHeader->Version < 1)) { > @@ -281,6 +277,10 @@ ValidateFmpCapsule ( > if (ImageHeader->Version < > EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION) { > FmpImageHeaderSize = > OFFSET_OF(EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER, > UpdateHardwareInstance); > } > + if (FmpImageSize < FmpImageHeaderSize) { > + DEBUG((DEBUG_ERROR, "FmpImageSize(0x%lx) < > FmpImageHeaderSize(0x%x)\n", FmpImageSize, FmpImageHeaderSize)); > + return EFI_INVALID_PARAMETER; > + } > > // No overflow > if (FmpImageSize != (UINT64)FmpImageHeaderSize + > (UINT64)ImageHeader->UpdateImageSize + > (UINT64)ImageHeader->UpdateVendorCodeSize) { > -- > 2.7.0.windows.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel