From 8020aa727020c5a02e2c27ec4b07ee3ffbaf057d Mon Sep 17 00:00:00 2001 From: Sergey Andreenko Date: Mon, 21 Aug 2017 18:04:29 -0700 Subject: [PATCH] fix JitConfig initialize and destoy (#13477) fix JitConfig initialize and destoy. --- src/jit/jitconfig.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/jit/jitconfig.cpp b/src/jit/jitconfig.cpp index 9f0e226..94a9430 100644 --- a/src/jit/jitconfig.cpp +++ b/src/jit/jitconfig.cpp @@ -14,6 +14,7 @@ JitConfigValues JitConfig; void JitConfigValues::MethodSet::initialize(const wchar_t* list, ICorJitHost* host) { assert(m_list == nullptr); + assert(m_names == nullptr); enum State { @@ -45,7 +46,7 @@ void JitConfigValues::MethodSet::initialize(const wchar_t* list, ICorJitHost* ho { // Failed to convert the list. Free the memory and ignore the list. host->freeMemory(reinterpret_cast(const_cast(m_list))); - m_list = ""; + m_list = nullptr; return; } @@ -230,11 +231,12 @@ void JitConfigValues::MethodSet::destroy(ICorJitHost* host) next = name->m_next; host->freeMemory(reinterpret_cast(const_cast(name))); } - - host->freeMemory(reinterpret_cast(const_cast(m_list))); - + if (m_list != nullptr) + { + host->freeMemory(reinterpret_cast(const_cast(m_list))); + m_list = nullptr; + } m_names = nullptr; - m_list = nullptr; } static bool matchesName(const char* const name, int nameLen, const char* const s2) -- 2.7.4