diff options
| author | Ryan Snyder <ryan@vector35.com> | 2018-03-28 13:18:38 -0400 |
|---|---|---|
| committer | Ryan Snyder <ryan@vector35.com> | 2018-03-28 13:18:38 -0400 |
| commit | c4e2ab35793daf5d138965eb4d530443f4b54d49 (patch) | |
| tree | a4ca3b91bcdfceaf3625372b3f50a4cdd8f8e7fa /type.cpp | |
| parent | 5e56265478e39ec4a1e7bad40c4f8728c5a46214 (diff) | |
Prevent creation of invalid Type wrappers
Diffstat (limited to 'type.cpp')
| -rw-r--r-- | type.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -582,19 +582,19 @@ Ref<Type> Type::NamedType(const QualifiedName& name, Type* type) Ref<Type> Type::NamedType(const string& id, const QualifiedName& name, Type* type) { BNQualifiedName nameObj = name.GetAPIObject(); - Type* result = new Type(BNCreateNamedTypeReferenceFromTypeAndId(id.c_str(), &nameObj, - type ? type->GetObject() : nullptr)); + BNType* coreObj = BNCreateNamedTypeReferenceFromTypeAndId(id.c_str(), &nameObj, + type ? type->GetObject() : nullptr); QualifiedName::FreeAPIObject(&nameObj); - return result; + return coreObj ? new Type(coreObj) : nullptr; } Ref<Type> Type::NamedType(BinaryView* view, const QualifiedName& name) { BNQualifiedName nameObj = name.GetAPIObject(); - Type* result = new Type(BNCreateNamedTypeReferenceFromType(view->GetObject(), &nameObj)); + BNType* coreObj = BNCreateNamedTypeReferenceFromType(view->GetObject(), &nameObj); QualifiedName::FreeAPIObject(&nameObj); - return result; + return coreObj ? new Type(coreObj) : nullptr; } |
