diff --git a/stub-ext/stubext.h b/stub-ext/stubext.h index 071070ca047dc6a0a5282afd337d937932889dbe..51b930f486c7b9c3bd67ec46898d08382d1cbc6d 100644 --- a/stub-ext/stubext.h +++ b/stub-ext/stubext.h @@ -44,7 +44,7 @@ public: template bool set_lamda(T addr, Lamda lamda) { - char *fn = reinterpret_cast(addrof(addr)); + unsigned char *fn = addrof(addr); if (m_result.find(fn) != m_result.end()) { assert(m_result.find(fn) == m_result.end()); return false; @@ -52,20 +52,16 @@ public: Wrapper *wrapper = nullptr; auto addr_stub = depictShadow(&wrapper,addr,lamda); - if (set(addr, addr_stub)) { - m_wrappers.insert(std::make_pair(fn, wrapper)); - return true; - } else { - freeWrapper(wrapper); - } - return false; + set(addr, addr_stub); + m_wrappers.insert(std::make_pair(fn, wrapper)); + return true; } template void reset(T addr) { Stub::reset(addr); - char *fn = reinterpret_cast(addrof(addr)); + unsigned char *fn = addrof(addr); auto iter = m_wrappers.find(fn); if (iter != m_wrappers.end()) { freeWrapper(iter->second); @@ -80,7 +76,7 @@ public: } } protected: - std::map m_wrappers; + std::map m_wrappers; }; }