summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python
diff options
context:
space:
mode:
authorCarsey, Jaben <jaben.carsey@intel.com>2018-04-28 06:32:17 +0800
committerYonghong Zhu <yonghong.zhu@intel.com>2018-05-04 13:02:58 +0800
commitb7b51025b94f77130f355a2c7b00a0fbcf533b2d (patch)
tree2e7668e4849443eebef26fd5d6bd513b1706b47a /BaseTools/Source/Python
parenta7360838d7cc0b645b41d8b1713832ef4fbfdd64 (diff)
downloadedk2-b7b51025b94f77130f355a2c7b00a0fbcf533b2d.tar.gz
edk2-b7b51025b94f77130f355a2c7b00a0fbcf533b2d.tar.bz2
edk2-b7b51025b94f77130f355a2c7b00a0fbcf533b2d.zip
BaseTools: check before accessing members in __eq__
minimize risk for exceptions. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
Diffstat (limited to 'BaseTools/Source/Python')
-rw-r--r--BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py5
-rw-r--r--BaseTools/Source/Python/build/build.py3
2 files changed, 3 insertions, 5 deletions
diff --git a/BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py b/BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py
index 602c90b3fe..1328dddf1a 100644
--- a/BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py
+++ b/BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py
@@ -259,10 +259,7 @@ class VAR_CHECK_PCD_VALID_OBJ(object):
self.ValidData = False
def __eq__(self, validObj):
- if self.VarOffset == validObj.VarOffset:
- return True
- else:
- return False
+ return validObj and self.VarOffset == validObj.VarOffset
class VAR_CHECK_PCD_VALID_LIST(VAR_CHECK_PCD_VALID_OBJ):
def __init__(self, VarOffset, validlist, PcdDataType):
diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py
index 56de2f6080..2a138a0d47 100644
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -377,7 +377,8 @@ class BuildUnit:
# @param Other The other BuildUnit object compared to
#
def __eq__(self, Other):
- return Other is not None and self.BuildObject == Other.BuildObject \
+ return Other and self.BuildObject == Other.BuildObject \
+ and Other.BuildObject \
and self.BuildObject.Arch == Other.BuildObject.Arch
## hash() method