summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2025-11-07 16:43:22 -0500
committerBrian Potchik <brian@vector35.com>2025-11-07 16:43:22 -0500
commit457928217ef7c2ea36aa20346df4e0790044ae35 (patch)
tree90b92e488d274018a4b755a225ebcebd7541cfb7
parent8c09e77cb661c991ed1c76ef9809ee7ea0579807 (diff)
Fix crash when attempting to open an invalid file.
-rw-r--r--transformcontext.cpp10
-rw-r--r--transformsession.cpp15
2 files changed, 20 insertions, 5 deletions
diff --git a/transformcontext.cpp b/transformcontext.cpp
index 9b01e306..92514296 100644
--- a/transformcontext.cpp
+++ b/transformcontext.cpp
@@ -17,7 +17,10 @@ TransformContext::~TransformContext()
Ref<BinaryView> TransformContext::GetInput() const
{
- return new BinaryView(BNTransformContextGetInput(m_object));
+ BNBinaryView* view = BNTransformContextGetInput(m_object);
+ if (!view)
+ return nullptr;
+ return new BinaryView(view);
}
@@ -123,7 +126,10 @@ void TransformContext::SetTransformResult(BNTransformResult result)
Ref<Metadata> TransformContext::GetMetadata() const
{
- return new Metadata(BNTransformContextGetMetadata(m_object));
+ BNMetadata* metadata = BNTransformContextGetMetadata(m_object);
+ if (!metadata)
+ return nullptr;
+ return new Metadata(metadata);
}
diff --git a/transformsession.cpp b/transformsession.cpp
index 9cf5cf3b..14aabcea 100644
--- a/transformsession.cpp
+++ b/transformsession.cpp
@@ -41,19 +41,28 @@ TransformSession::~TransformSession()
Ref<BinaryView> TransformSession::GetCurrentView() const
{
- return new BinaryView(BNTransformSessionGetCurrentView(m_object));
+ BNBinaryView* view = BNTransformSessionGetCurrentView(m_object);
+ if (!view)
+ return nullptr;
+ return new BinaryView(view);
}
Ref<TransformContext> TransformSession::GetRootContext() const
{
- return new TransformContext(BNTransformSessionGetRootContext(m_object));
+ BNTransformContext* context = BNTransformSessionGetRootContext(m_object);
+ if (!context)
+ return nullptr;
+ return new TransformContext(context);
}
Ref<TransformContext> TransformSession::GetCurrentContext() const
{
- return new TransformContext(BNTransformSessionGetCurrentContext(m_object));
+ BNTransformContext* context = BNTransformSessionGetCurrentContext(m_object);
+ if (!context)
+ return nullptr;
+ return new TransformContext(context);
}