diff options
| author | Peter LaFosse <peter@vector35.com> | 2023-08-03 12:09:27 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2023-11-03 10:41:51 -0400 |
| commit | 778349bbc743c9336e27c1694a7485ea8586bfa7 (patch) | |
| tree | 5a62c302aa7ba730ca9bd98a8cbf1a6eb1e8b3cc /python/types.py | |
| parent | 96434bc675f93766c30f4917948988717e21e7e9 (diff) | |
Add some guardrails around creating NamedTypeReferences
Diffstat (limited to 'python/types.py')
| -rw-r--r-- | python/types.py | 6 |
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" |
