diff options
| author | Xusheng <xusheng@vector35.com> | 2020-09-06 10:25:27 +0800 |
|---|---|---|
| committer | Xusheng <xusheng@vector35.com> | 2020-09-06 10:28:24 +0800 |
| commit | 8107ec4778fc4bcb657974438a7c12131d62644a (patch) | |
| tree | fad04136ec6a15c1fe4d1b3cd4f584d28e97b142 | |
| parent | 01ca18b5aa4377a353df040f14f6c2a1490cb0cf (diff) | |
fix parse_types_from_string()
| -rw-r--r-- | binaryninjacore.h | 2 | ||||
| -rw-r--r-- | binaryview.cpp | 2 | ||||
| -rw-r--r-- | python/binaryview.py | 4 |
3 files changed, 5 insertions, 3 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 773f70c0..9a93f367 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -3270,7 +3270,7 @@ __attribute__ ((format (printf, 1, 2))) BINARYNINJACOREAPI bool BNParseTypeString(BNBinaryView* view, const char* text, BNQualifiedNameAndType* result, char** errors, BNQualifiedNameList* typesAllowRedefinition); BINARYNINJACOREAPI bool BNParseTypesString(BNBinaryView* view, const char* text, BNTypeParserResult* result, - char** errors, BNQualifiedNameList typesAllowRedefinition); + char** errors, BNQualifiedNameList* typesAllowRedefinition); BINARYNINJACOREAPI void BNFreeQualifiedNameAndType(BNQualifiedNameAndType* obj); BINARYNINJACOREAPI void BNFreeQualifiedNameAndTypeArray(BNQualifiedNameAndType* obj, size_t count); diff --git a/binaryview.cpp b/binaryview.cpp index 9374c9b8..8d78c4b3 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -2500,7 +2500,7 @@ bool BinaryView::ParseTypeString(const string& source, map<QualifiedName, Ref<Ty i ++; } - bool ok = BNParseTypesString(m_object, source.c_str(), &result, &errorStr, typesList); + bool ok = BNParseTypesString(m_object, source.c_str(), &result, &errorStr, &typesList); if (errorStr) { errors = errorStr; diff --git a/python/binaryview.py b/python/binaryview.py index 2c20a694..1cd57bf9 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -4655,7 +4655,9 @@ class BinaryView(object): parse = core.BNTypeParserResult() errors = ctypes.c_char_p() - if not core.BNParseTypesString(self.handle, text, parse, errors): + type_list = core.BNQualifiedNameList() + type_list.count = 0 + if not core.BNParseTypesString(self.handle, text, parse, errors, type_list): error_str = errors.value.decode("utf-8") core.BNFreeString(ctypes.cast(errors, ctypes.POINTER(ctypes.c_byte))) raise SyntaxError(error_str) |
