Reviewed-by: Jaben Carsey <[email protected]>
> -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of > Yonghong Zhu > Sent: Friday, October 19, 2018 12:21 AM > To: [email protected] > Subject: [edk2] [Patch] BaseTools: Fix the crash issue when Dynamic > structure Pcd use in FDF > > The case is use Dynamic structure Pcd in the FDF file. > Current code already save the Guid, Name and Filed info for those Pcd, > but it directly use the dict key as [Name, Guid] and cause this crash > issue. > > Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=1264 > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Yonghong Zhu <[email protected]> > --- > BaseTools/Source/Python/AutoGen/AutoGen.py | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py > b/BaseTools/Source/Python/AutoGen/AutoGen.py > index f2146a7..804f579 100644 > --- a/BaseTools/Source/Python/AutoGen/AutoGen.py > +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py > @@ -567,12 +567,12 @@ class WorkspaceAutoGen(AutoGen): > if (Name, Guid) not in DecPcds: > EdkLogger.error( > 'build', > PARSER_ERROR, > "PCD (%s.%s) used in FDF is not declared in DEC > files." % (Guid, > Name), > - File = self.FdfProfile.PcdFileLineDict[Name, > Guid][0], > - Line = self.FdfProfile.PcdFileLineDict[Name, Guid][1] > + File = self.FdfProfile.PcdFileLineDict[Name, Guid, > Fileds][0], > + Line = self.FdfProfile.PcdFileLineDict[Name, Guid, > Fileds][1] > ) > else: > # Check whether Dynamic or DynamicEx PCD used in FDF > file. If > used, build break and give a error message. > if (Name, Guid, TAB_PCDS_FIXED_AT_BUILD) in DecPcdsKey \ > or (Name, Guid, TAB_PCDS_PATCHABLE_IN_MODULE) in > DecPcdsKey \ > @@ -581,12 +581,12 @@ class WorkspaceAutoGen(AutoGen): > elif (Name, Guid, TAB_PCDS_DYNAMIC) in DecPcdsKey or > (Name, > Guid, TAB_PCDS_DYNAMIC_EX) in DecPcdsKey: > EdkLogger.error( > 'build', > PARSER_ERROR, > "Using Dynamic or DynamicEx type of PCD > [%s.%s] in FDF file > is not allowed." % (Guid, Name), > - File = self.FdfProfile.PcdFileLineDict[Name, > Guid][0], > - Line = self.FdfProfile.PcdFileLineDict[Name, > Guid][1] > + File = self.FdfProfile.PcdFileLineDict[Name, > Guid, Fileds][0], > + Line = self.FdfProfile.PcdFileLineDict[Name, > Guid, Fileds][1] > ) > > Pa = PlatformAutoGen(self, self.MetaFile, Target, Toolchain, > Arch) > # > # Explicitly collect platform's dynamic PCDs > -- > 2.6.1.windows.1 > > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

