summaryrefslogtreecommitdiff
path: root/python/types.py
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2023-08-03 12:09:27 -0400
committerPeter LaFosse <peter@vector35.com>2023-11-03 10:41:51 -0400
commit778349bbc743c9336e27c1694a7485ea8586bfa7 (patch)
tree5a62c302aa7ba730ca9bd98a8cbf1a6eb1e8b3cc /python/types.py
parent96434bc675f93766c30f4917948988717e21e7e9 (diff)
Add some guardrails around creating NamedTypeReferences
Diffstat (limited to 'python/types.py')
-rw-r--r--python/types.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/python/types.py b/python/types.py
index 570f9ce1..79a03d60 100644
--- a/python/types.py
+++ b/python/types.py
@@ -1638,6 +1638,9 @@ class NamedTypeReferenceBuilder(TypeBuilder):
platform: Optional['_platform.Platform'] = None, confidence: int = core.max_confidence,
const: BoolWithConfidenceType = False, volatile: BoolWithConfidenceType = False
) -> 'NamedTypeReferenceBuilder':
+
+ if not isinstance(type_class, NamedTypeReferenceClass):
+ raise ValueError("named_type_class must be a NamedTypeReferenceClass")
ntr_builder_handle = core.BNCreateNamedTypeBuilder(type_class, type_id, QualifiedName(name)._to_core_struct())
assert ntr_builder_handle is not None, "core.BNCreateNamedTypeBuilder returned None"
@@ -2950,10 +2953,11 @@ class NamedTypeReferenceType(Type):
width: int = 0, platform: Optional['_platform.Platform'] = None, confidence: int = core.max_confidence,
const: BoolWithConfidenceType = False, volatile: BoolWithConfidenceType = False
) -> 'NamedTypeReferenceType':
+ if not isinstance(named_type_class, NamedTypeReferenceClass):
+ raise ValueError("named_type_class must be a NamedTypeReferenceClass")
_guid = guid
if guid is None:
_guid = str(uuid.uuid4())
-
_name = QualifiedName(name)._to_core_struct()
core_ntr = core.BNCreateNamedType(named_type_class, _guid, _name)
assert core_ntr is not None, "core.BNCreateNamedType returned None"