From acd825d6fa9b276b3ec5cb5aa8d7118e805e06c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Wed, 3 Apr 2013 09:14:05 +0000 Subject: [PATCH] Problem was not here but in swissbrowser; closes #25 --- src/openssl-engine.hxx | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/src/openssl-engine.hxx b/src/openssl-engine.hxx index 5dc4e83..adff922 100644 --- a/src/openssl-engine.hxx +++ b/src/openssl-engine.hxx @@ -79,11 +79,7 @@ namespace openssl { } virtual ~Engine() { OPENSSL_LOG("log"); - if (_e) { - OPENSSL_LOG("free the engine"); - OPENSSL_CHECK(ENGINE_free(_e)); - _e = 0; - } + OPENSSL_CHECK(ENGINE_free(_e)); } virtual const char* id() = 0; virtual const char* name() = 0; @@ -149,8 +145,7 @@ namespace openssl { _map[e->_e] = e; OPENSSL_CHECK(ENGINE_set_id(e->_e, e->id())); OPENSSL_CHECK(ENGINE_set_name(e->_e, e->name())); - OPENSSL_CHECK(ENGINE_set_destroy_function - (e->_e, EngineMapper::destroy)); + OPENSSL_CHECK(ENGINE_set_destroy_function(e->_e, EngineMapper::destroy)); OPENSSL_CHECK(ENGINE_set_init_function(e->_e, EngineMapper::init)); OPENSSL_CHECK(ENGINE_set_finish_function(e->_e, EngineMapper::finish)); OPENSSL_CHECK(ENGINE_set_ctrl_function(e->_e, EngineMapper::ctrl)); @@ -172,16 +167,10 @@ namespace openssl { } static void remove(Engine *e) { - OPENSSL_LOG("log"); - if (e) { - OPENSSL_LOG("call remove: e->_e = "<<((void*)e->_e)); - OPENSSL_CHECK(ENGINE_remove(e->_e)); - OPENSSL_LOG("call finish"); - OPENSSL_CHECK(ENGINE_finish(e->_e)); - OPENSSL_LOG("erase from map"); - _map.erase(e->_e); - delete e; e=0; - } + OPENSSL_CHECK(ENGINE_remove(e->_e)); + OPENSSL_CHECK(ENGINE_finish(e->_e)); + _map.erase(e->_e); + delete e; } private: @@ -198,7 +187,6 @@ namespace openssl { static int finish(ENGINE* e) { OPENSSL_LOG("log"); Map::iterator it(_map.find(e)); - OPENSSL_LOG("finish: "<<(it!=_map.end()?"true":"false")); return it!=_map.end()?it->second->finish():0; } static int ctrl(ENGINE* e, int cmd, long i, void* p, void(*f)()) { @@ -295,30 +283,24 @@ namespace openssl { template class RegisterEngine { public: RegisterEngine(ENGINE* e = 0): _e(e) { - OPENSSL_LOG("log"); if (_e) EngineMapper::add(_e); } ~RegisterEngine() { - OPENSSL_LOG("log"); if (_e) EngineMapper::remove(_e); } RegisterEngine& operator=(ENGINE* e) { - OPENSSL_LOG("log"); if (_e) EngineMapper::remove(_e); _e = e; if (_e) EngineMapper::add(_e); return *this; } operator ENGINE*() { - OPENSSL_LOG("log"); return _e; } ENGINE* operator->() { - OPENSSL_LOG("log"); return _e; } ENGINE& operator*() { - OPENSSL_LOG("log"); return *_e; } private: