summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2019-09-28 15:27:25 -0400
committerPeter LaFosse <peter@vector35.com>2019-09-28 15:52:35 -0400
commitfa6d1a1998dc7295952036ea84c141cb20bca920 (patch)
tree3559efa34e2d4eb91f1c318968a89d04d5fc2f82 /python
parent052b1ea7871c3bfd780a73bcac942db54c95422e (diff)
Fix create_tag api
Diffstat (limited to 'python')
-rw-r--r--python/binaryview.py12
-rw-r--r--python/function.py22
2 files changed, 20 insertions, 14 deletions
diff --git a/python/binaryview.py b/python/binaryview.py
index 4e7b46a7..d9d8f0b8 100644
--- a/python/binaryview.py
+++ b/python/binaryview.py
@@ -3484,13 +3484,13 @@ class BinaryView(object):
:rtype: Tag
:Example:
- >>> tt = bv.tag_types["Crabby Functions"]
- >>> tag = bv.create_tag(tt, "Get Crabbed")
+ >>> tt = bv.tag_types["Crashes"]
+ >>> tag = bv.create_tag(tt, "Null pointer dereference", True)
>>> bv.add_user_data_tag(here, tag)
>>>
"""
- tag = Tag(core.BNCreateTag(type.handle, data, user))
- core.BNAddTag(self.handle, tag.handle)
+ tag = Tag(core.BNCreateTag(type.handle, data))
+ core.BNAddTag(self.handle, tag.handle, user)
return tag
@property
@@ -3572,7 +3572,7 @@ class BinaryView(object):
if tag.type == type and tag.data == data:
return
- tag = self.create_tag(type, data)
+ tag = self.create_tag(type, data, True)
core.BNAddUserDataTag(self.handle, addr, tag.handle)
return tag
@@ -3614,7 +3614,7 @@ class BinaryView(object):
if tag.type == type and tag.data == data:
return
- tag = self.create_tag(type, data)
+ tag = self.create_tag(type, data, False)
core.BNAddAutoDataTag(self.handle, addr, tag.handle)
return tag
diff --git a/python/function.py b/python/function.py
index 4161d45c..861cdcf0 100644
--- a/python/function.py
+++ b/python/function.py
@@ -932,7 +932,13 @@ class Function(object):
core.BNFreeAddressList(addrs)
return result
- def create_tag(self, type, data):
+ def create_user_tag(self, type, data):
+ return self.create_tag(type, data, True)
+
+ def create_auto_tag(self, type, data):
+ return self.create_tag(type, data, False)
+
+ def create_tag(self, type, data, user=False):
"""
``create_tag`` creates a new Tag object but does not add it anywhere
@@ -942,12 +948,12 @@ class Function(object):
:rtype: Tag
:Example:
- >>> tt = bv.tag_types["Crabby Functions"]
- >>> tag = current_function.create_tag(tt, "Get Crabbed")
+ >>> tt = bv.tag_types["Crashes"]
+ >>> tag = current_function.create_tag(tt, "Null pointer dereference", True)
>>> current_function.add_user_address_tag(here, tag)
>>>
"""
- return self.view.create_tag(type, data)
+ return self.view.create_tag(type, data, user)
@property
def address_tags(self):
@@ -1021,7 +1027,7 @@ class Function(object):
if tag.type == type and tag.data == data:
return
- tag = self.create_tag(type, data)
+ tag = self.create_tag(type, data, True)
core.BNAddUserAddressTag(self.handle, arch.handle, addr, tag.handle)
return tag
@@ -1072,7 +1078,7 @@ class Function(object):
if tag.type == type and tag.data == data:
return
- tag = self.create_tag(type, data)
+ tag = self.create_tag(type, data, False)
core.BNAddAutoAddressTag(self.handle, arch.handle, addr, tag.handle)
return tag
@@ -1130,7 +1136,7 @@ class Function(object):
if tag.type == type and tag.data == data:
return
- tag = self.create_tag(type, data)
+ tag = self.create_tag(type, data, True)
core.BNAddUserFunctionTag(self.handle, tag.handle)
return tag
@@ -1168,7 +1174,7 @@ class Function(object):
if tag.type == type and tag.data == data:
return
- tag = self.create_tag(type, data)
+ tag = self.create_tag(type, data, False)
core.BNAddAutoFunctionTag(self.handle, tag.handle)
return tag