summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/binaryview.py2
-rw-r--r--python/platform.py5
2 files changed, 7 insertions, 0 deletions
diff --git a/python/binaryview.py b/python/binaryview.py
index ff9b400f..0f747232 100644
--- a/python/binaryview.py
+++ b/python/binaryview.py
@@ -4577,6 +4577,8 @@ class BinaryView(object):
(<type: int32_t>, 'foo')
>>>
"""
+ if not isinstance(text, str):
+ raise AttributeError("Text must be a string")
result = core.BNQualifiedNameAndType()
errors = ctypes.c_char_p()
if not core.BNParseTypeString(self.handle, text, result, errors):
diff --git a/python/platform.py b/python/platform.py
index 9059e1c4..0fef566f 100644
--- a/python/platform.py
+++ b/python/platform.py
@@ -28,6 +28,7 @@ from binaryninja import types
# 2-3 compatibility
from binaryninja import range
from binaryninja import with_metaclass
+import os
class _PlatformMetaClass(type):
@@ -401,6 +402,8 @@ class Platform(with_metaclass(_PlatformMetaClass, object)):
if filename is None:
filename = "input"
+ if not isinstance(source, str):
+ raise AttributeError("Source must be a string")
dir_buf = (ctypes.c_char_p * len(include_dirs))()
for i in range(0, len(include_dirs)):
dir_buf[i] = include_dirs[i].encode('charmap')
@@ -448,6 +451,8 @@ class Platform(with_metaclass(_PlatformMetaClass, object)):
{'bar': <type: int32_t(int32_t x)>}}, '')
>>>
"""
+ if not (isinstance(filename, str) and os.path.isfile(filename) and os.access(filename, os.R_OK)):
+ raise AttributeError("File {} doesn't exist or isn't readable".format(filename))
dir_buf = (ctypes.c_char_p * len(include_dirs))()
for i in range(0, len(include_dirs)):
dir_buf[i] = include_dirs[i].encode('charmap')