bool BinaryNinja::ExecuteWorkerProcess(const string& path, const vector<string>& args, const DataBuffer& input, string& output, string& errors, bool stdoutIsText, bool stderrIsText) { const char** argArray = new const char*[args.size() + 1]; for (size_t i = 0; i < args.size(); i++) argArray[i] = args[i].c_str(); argArray[args.size()] = nullptr; char* outputStr; char* errorStr; bool result = BNExecuteWorkerProcess(path.c_str(), argArray, input.GetBufferObject(), &outputStr, &errorStr, stdoutIsText, stderrIsText); output = outputStr; errors = errorStr; BNFreeString(outputStr); BNFreeString(errorStr); delete[] argArray; return result; }