diff options
| author | Glenn Smith <glenn@vector35.com> | 2021-06-03 22:16:22 -0400 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2021-06-03 23:26:23 -0400 |
| commit | df3aa5a4e1e431ea1ffd5aaff2e7ca8f8cdf20f8 (patch) | |
| tree | c603320d627444e121ae57d9b5a6a405a2d07552 /function.cpp | |
| parent | 8b5e9d9f10e9e78a3093e41bf0a03073fcbfb1f8 (diff) | |
If IL is not available, Get*LILIfAvailable should return nullptr
Fixes #2494
Diffstat (limited to 'function.cpp')
| -rw-r--r-- | function.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/function.cpp b/function.cpp index 1d0551db..2c1b34ea 100644 --- a/function.cpp +++ b/function.cpp @@ -328,7 +328,10 @@ Ref<LowLevelILFunction> Function::GetLowLevelIL() const Ref<LowLevelILFunction> Function::GetLowLevelILIfAvailable() const { - return new LowLevelILFunction(BNGetFunctionLowLevelILIfAvailable(m_object)); + BNLowLevelILFunction* function = BNGetFunctionLowLevelILIfAvailable(m_object); + if (!function) + return nullptr; + return new LowLevelILFunction(function); } @@ -579,7 +582,10 @@ Ref<LowLevelILFunction> Function::GetLiftedIL() const Ref<LowLevelILFunction> Function::GetLiftedILIfAvailable() const { - return new LowLevelILFunction(BNGetFunctionLiftedILIfAvailable(m_object)); + BNLowLevelILFunction* function = BNGetFunctionLiftedILIfAvailable(m_object); + if (!function) + return nullptr; + return new LowLevelILFunction(function); } @@ -659,7 +665,10 @@ Ref<MediumLevelILFunction> Function::GetMediumLevelIL() const Ref<MediumLevelILFunction> Function::GetMediumLevelILIfAvailable() const { - return new MediumLevelILFunction(BNGetFunctionMediumLevelILIfAvailable(m_object)); + BNMediumLevelILFunction* function = BNGetFunctionMediumLevelILIfAvailable(m_object); + if (!function) + return nullptr; + return new MediumLevelILFunction(function); } @@ -671,7 +680,10 @@ Ref<HighLevelILFunction> Function::GetHighLevelIL() const Ref<HighLevelILFunction> Function::GetHighLevelILIfAvailable() const { - return new HighLevelILFunction(BNGetFunctionHighLevelILIfAvailable(m_object)); + BNHighLevelILFunction* function = BNGetFunctionHighLevelILIfAvailable(m_object); + if (!function) + return nullptr; + return new HighLevelILFunction(function); } |
