[edk2-devel] [Patch v2 03/11] BaseTools GenFw: Fix the issue to update the wrong size as SectionSize
Liming Gao
liming.gao at intel.com
Thu Oct 17 02:18:49 UTC 2019
OK. I will update the commit message to describe this issue.
This change is to make sure section size is in section raw data scope.
>-----Original Message-----
>From: Feng, Bob C
>Sent: Wednesday, October 16, 2019 5:27 PM
>To: devel at edk2.groups.io; Gao, Liming <liming.gao at intel.com>
>Subject: RE: [edk2-devel] [Patch v2 03/11] BaseTools GenFw: Fix the issue to
>update the wrong size as SectionSize
>
>Hi Liming,
>
>Would you please add more description in commit message? This patch is in
>the patch set of CLANG9 enabling, but it's hard for me to see the direct
>relationship between CLANG9 and this fix and why the original code is wrong.
>
>Thanks
>Bob
>
>-----Original Message-----
>From: devel at edk2.groups.io [mailto:devel at edk2.groups.io] On Behalf Of
>Liming Gao
>Sent: Tuesday, October 15, 2019 8:27 AM
>To: devel at edk2.groups.io
>Subject: [edk2-devel] [Patch v2 03/11] BaseTools GenFw: Fix the issue to
>update the wrong size as SectionSize
>
>Signed-off-by: Liming Gao <liming.gao at intel.com>
>---
> BaseTools/Source/C/GenFw/GenFw.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
>diff --git a/BaseTools/Source/C/GenFw/GenFw.c
>b/BaseTools/Source/C/GenFw/GenFw.c
>index c99782b78e..d8d3360c24 100644
>--- a/BaseTools/Source/C/GenFw/GenFw.c
>+++ b/BaseTools/Source/C/GenFw/GenFw.c
>@@ -653,7 +653,11 @@ PeCoffConvertImageToXip (
> //
> // Make the size of raw data in section header alignment.
> //
>- SectionHeader->SizeOfRawData = (SectionHeader->Misc.VirtualSize +
>PeHdr->Pe32.OptionalHeader.FileAlignment - 1) & (~(PeHdr-
>>Pe32.OptionalHeader.FileAlignment - 1));
>+ SectionSize = (SectionHeader->Misc.VirtualSize + PeHdr-
>>Pe32.OptionalHeader.FileAlignment - 1) & (~(PeHdr-
>>Pe32.OptionalHeader.FileAlignment - 1));
>+ if (SectionSize < SectionHeader->SizeOfRawData) {
>+ SectionHeader->SizeOfRawData = SectionSize;
>+ }
>+
> SectionHeader->PointerToRawData = SectionHeader->VirtualAddress;
> }
>
>@@ -999,7 +1003,7 @@ Returns:
> CopyMem (
> FileBuffer + SectionHeader->PointerToRawData,
> (VOID*) (UINTN) (ImageContext.ImageAddress + SectionHeader-
>>VirtualAddress),
>- SectionHeader->SizeOfRawData
>+ SectionHeader->SizeOfRawData < SectionHeader->Misc.VirtualSize ?
>SectionHeader->SizeOfRawData : SectionHeader->Misc.VirtualSize
> );
> }
>
>--
>2.13.0.windows.1
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#49137): https://edk2.groups.io/g/devel/message/49137
Mute This Topic: https://groups.io/mt/34540584/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list