mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-22 21:24:35 +02:00
BaseTools: Fixed bugs in CopyDict function
https://bugzilla.tianocore.org/show_bug.cgi?id=1387 This patch is going to fix the regression issue which is introduced by commit bf9e636605188e291d33ab694ff1c5926b6f0800. This patch Remove the CopyDict incorrect usage for non-dict input data. Add a check for CopyDict input. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
5695877ec8
commit
9bf86b12ce
@ -2139,6 +2139,8 @@ def PackByteFormatGUID(Guid):
|
||||
#
|
||||
def CopyDict(ori_dict):
|
||||
dict_type = ori_dict.__class__
|
||||
if dict_type not in (dict,OrderedDict):
|
||||
return ori_dict
|
||||
new_dict = dict_type()
|
||||
for key in ori_dict:
|
||||
if isinstance(ori_dict[key],(dict,OrderedDict)):
|
||||
|
@ -974,7 +974,7 @@ class DscBuildData(PlatformBuildClassObject):
|
||||
if TAB_DEFAULT_STORES_DEFAULT not in skuobj.DefaultStoreDict:
|
||||
PcdDefaultStoreSet = set(defaultstorename for defaultstorename in skuobj.DefaultStoreDict)
|
||||
mindefaultstorename = DefaultStoreMgr.GetMin(PcdDefaultStoreSet)
|
||||
skuobj.DefaultStoreDict[TAB_DEFAULT_STORES_DEFAULT] = CopyDict(skuobj.DefaultStoreDict[mindefaultstorename])
|
||||
skuobj.DefaultStoreDict[TAB_DEFAULT_STORES_DEFAULT] = skuobj.DefaultStoreDict[mindefaultstorename]
|
||||
return Pcds
|
||||
|
||||
def RecoverCommandLinePcd(self):
|
||||
@ -2769,7 +2769,7 @@ class DscBuildData(PlatformBuildClassObject):
|
||||
mindefaultstorename = DefaultStoreObj.GetMin(set(defaultstorename for defaultstorename in skuobj.DefaultStoreDict))
|
||||
for defaultstorename in DefaultStores:
|
||||
if defaultstorename not in skuobj.DefaultStoreDict:
|
||||
skuobj.DefaultStoreDict[defaultstorename] = CopyDict(skuobj.DefaultStoreDict[mindefaultstorename])
|
||||
skuobj.DefaultStoreDict[defaultstorename] = skuobj.DefaultStoreDict[mindefaultstorename]
|
||||
skuobj.HiiDefaultValue = skuobj.DefaultStoreDict[mindefaultstorename]
|
||||
for skuname, skuid in SkuIds.items():
|
||||
if skuname not in PcdObj.SkuInfoList:
|
||||
|
Loading…
x
Reference in New Issue
Block a user