diff --git a/stub-ext/stub-shadow.h b/stub-ext/stub-shadow.h index f2fa03a38732c5014feaebfca6f8a9ff0c07f73d..eca019a54882a680b1f4ac2ebb9399e152fb4e21 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 3da73e5c179acb9af485d311f79b46326047ff29..5ddf5aa9db7b0007224817c5bd29c48c36bd93da 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); }