From 9295bc4fbb99535dcc2c2c6396b58908682fbd57 Mon Sep 17 00:00:00 2001 From: Nick Hastings Date: Thu, 23 Sep 2021 23:23:24 -0400 Subject: [PATCH] Fix crash with IBinTools calls on x64 for functions with void return. --- extensions/bintools/CallWrapper.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/extensions/bintools/CallWrapper.cpp b/extensions/bintools/CallWrapper.cpp index 0ce55ee0..513b540e 100644 --- a/extensions/bintools/CallWrapper.cpp +++ b/extensions/bintools/CallWrapper.cpp @@ -80,8 +80,15 @@ CallWrapper::CallWrapper(const SourceHook::ProtoInfo *protoInfo) : m_FnFlags(0) CallWrapper::CallWrapper(const SourceHook::ProtoInfo *protoInfo, const PassInfo *retInfo, const PassInfo paramInfo[], unsigned int fnFlags) : CallWrapper(protoInfo) { - m_RetParam->fields = retInfo->fields; - m_RetParam->numFields = retInfo->numFields; + if (retInfo) + { + m_RetParam->fields = retInfo->fields; + m_RetParam->numFields = retInfo->numFields; + } + else + { + m_RetParam = nullptr; + } unsigned int argnum = protoInfo->numOfParams; for (unsigned int i = 0; i < argnum; i++)