File ovmf.FIT_SIGNATURE.patch of Package xen
From: Olaf Hering <olaf@aepfle.de>
Date: Mon, 18 Jun 2018 16:17:59 +0200
Subject: FIT_SIGNATURE
Signed-off-by: Olaf Hering <olaf@aepfle.de>
---
BaseTools/Source/C/GenVtf/GenVtf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/BaseTools/Source/C/GenVtf/GenVtf.c
+++ b/BaseTools/Source/C/GenVtf/GenVtf.c
@@ -1481,25 +1481,25 @@ Returns:
FitTableAdd = (PalFitPtr->CompAddress - 0x10) - VtfInfo->CompSize;
FitTableAddressOffset = Fv1EndAddress - (SIZE_IA32_RESET_VECT + SIZE_SALE_ENTRY_POINT + SIZE_FIT_TABLE_ADD);
GetRelativeAddressInVtfBuffer (FitTableAddressOffset, &RelativeAddress, FIRST_VTF);
*(UINT64 *) RelativeAddress = FitTableAdd;
GetRelativeAddressInVtfBuffer (FitTableAdd, &RelativeAddress, FIRST_VTF);
//
// Update Fit Table with FIT Signature and FIT info in first 16 bytes.
//
FitStartPtr = (FIT_TABLE *) RelativeAddress;
- strncpy ((CHAR8 *) &FitStartPtr->CompAddress, FIT_SIGNATURE, 8); // "_FIT_ "
+ memcpy ((CHAR8 *) &FitStartPtr->CompAddress, FIT_SIGNATURE, 8); // "_FIT_ "
assert (((VtfInfo->CompSize & 0x00FFFFFF) % 16) == 0);
FitStartPtr->CompSize = (VtfInfo->CompSize & 0x00FFFFFF) / 16;
FitStartPtr->CompVersion = MAKE_VERSION (VtfInfo->MajorVer, VtfInfo->MinorVer);
//
// BUGBUG: If a checksum is required, add code to checksum the FIT table. Also
// determine what to do for things like the FV component that aren't easily checksummed.
// The checksum will be done once we are done with all the componet update in the FIT
// table
//
FitStartPtr->CvAndType = CV_N_TYPE (VtfInfo->CheckSumRequired, VtfInfo->CompType);