summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2017-11-06 17:29:57 -0500
committerPeter LaFosse <peter@vector35.com>2017-11-06 17:29:57 -0500
commit16a4d413d58d2cb29be97781bba0b52546afa390 (patch)
treee9f27f78d024606faa18acc763813c2d1f9321db /python
parentb54bf0745bd9ef9809dfce1a8937622f8ed92df5 (diff)
parentaf062c5608b6a4abb60c3d6ebc193d3ac929165b (diff)
Merge branch 'dev'
Diffstat (limited to 'python')
-rw-r--r--python/function.py4
-rw-r--r--python/mediumlevelil.py6
-rw-r--r--python/scriptingprovider.py8
3 files changed, 11 insertions, 7 deletions
diff --git a/python/function.py b/python/function.py
index cbbdf9bd..f8aaae44 100644
--- a/python/function.py
+++ b/python/function.py
@@ -241,10 +241,10 @@ class Variable(object):
return self.name
def __eq__(self, other):
- return self.identifier == other.identifier
+ return (self.identifier, self.function) == (other.identifier, other.function)
def __hash__(self):
- return hash(self.identifier)
+ return hash((self.identifier, self.function))
class ConstantReference(object):
diff --git a/python/mediumlevelil.py b/python/mediumlevelil.py
index 9167212a..6f5515bb 100644
--- a/python/mediumlevelil.py
+++ b/python/mediumlevelil.py
@@ -39,12 +39,12 @@ class SSAVariable(object):
def __eq__(self, other):
return (
- (self.var.identifier, self.version) ==
- (other.var.identifier, other.version)
+ (self.var, self.version) ==
+ (other.var, other.version)
)
def __hash__(self):
- return hash((self.var.identifier, self.version))
+ return hash((self.var, self.version))
class MediumLevelILLabel(object):
diff --git a/python/scriptingprovider.py b/python/scriptingprovider.py
index 211d2fb7..f9758cc9 100644
--- a/python/scriptingprovider.py
+++ b/python/scriptingprovider.py
@@ -540,8 +540,12 @@ class PythonScriptingInstance(ScriptingInstance):
self.locals["current_address"] = self.active_addr
self.locals["here"] = self.active_addr
self.locals["current_selection"] = (self.active_selection_begin, self.active_selection_end)
- self.locals["current_llil"] = self.active_func.low_level_il
- self.locals["current_mlil"] = self.active_func.medium_level_il
+ if self.active_func == None:
+ self.locals["current_llil"] = None
+ self.locals["current_mlil"] = None
+ else:
+ self.locals["current_llil"] = self.active_func.low_level_il
+ self.locals["current_mlil"] = self.active_func.medium_level_il
self.interpreter.runsource(code)