summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2020-06-30 11:05:22 -0400
committerPeter LaFosse <peter@vector35.com>2020-06-30 11:05:22 -0400
commit8acc69ae58185d54da01ac154aa0140c2d53e623 (patch)
tree1551d3eda63afda575ed879a5b4335610fc0b4a6 /binaryview.cpp
parenta7e39c151f28453dc7ed00cf3d20959a3061f277 (diff)
Fix crash in BinaryView::ParseTypeString
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/binaryview.cpp b/binaryview.cpp
index 287dc94b..a9b25a3c 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -2470,15 +2470,18 @@ bool BinaryView::ParseTypeString(const string& source, map<QualifiedName, Ref<Ty
map<QualifiedName, Ref<Type>>& variables, map<QualifiedName, Ref<Type>>& functions, string& errors)
{
BNTypeParserResult result;
- char* errorStr;
+ char* errorStr = nullptr;
types.clear();
variables.clear();
functions.clear();
bool ok = BNParseTypesString(m_object, source.c_str(), &result, &errorStr);
- errors = errorStr;
- BNFreeString(errorStr);
+ if (errorStr)
+ {
+ errors = errorStr;
+ BNFreeString(errorStr);
+ }
if (!ok)
return false;