From 7da469f1d14f12b2d8d78ee4806aa52eae3d423a Mon Sep 17 00:00:00 2001 From: Zhang Yu Date: Mon, 7 Dec 2020 19:34:03 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20freeWrapper()=E9=87=8D=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stub-ext/stub-shadow.h | 21 ++++++++++++--------- stub-ext/stubext.h | 4 +++- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/stub-ext/stub-shadow.h b/stub-ext/stub-shadow.h index f2fa03a..eca019a 100644 --- a/stub-ext/stub-shadow.h +++ b/stub-ext/stub-shadow.h @@ -164,16 +164,19 @@ typename FuncShadow::Shadow depictShadow(Wrapper **wrapper, Func fu return shadow; } -void freeWrapper(Wrapper *wrapper) { - if (wrapper) { - for (auto iter = stub_wrappers.begin(); iter != stub_wrappers.end();) { - if (iter->second == wrapper) - iter = stub_wrappers.erase(iter); - else - ++iter; - } - delete wrapper; +static void freeWrapper(Wrapper *wrapper) +{ + if (!wrapper) + return; + + for (auto iter = stub_wrappers.begin(); iter != stub_wrappers.end();) { + if (iter->second == wrapper) + iter = stub_wrappers.erase(iter); + else + ++iter; } + + delete wrapper; } } diff --git a/stub-ext/stubext.h b/stub-ext/stubext.h index 3da73e5..5ddf5aa 100644 --- a/stub-ext/stubext.h +++ b/stub-ext/stubext.h @@ -67,7 +67,9 @@ public: m_wrappers.erase(iter); } } - ~StubExt() { + + ~StubExt() + { for (auto iter = m_wrappers.begin(); iter != m_wrappers.end(); ++iter) { freeWrapper(iter->second); } -- Gitee