aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2010-03-10 13:29:33 +0000
committerVincent Richard <[email protected]>2010-03-10 13:29:33 +0000
commit75fcad48c9196c2ce25b9c17d75d9c354fe53cf2 (patch)
tree79c1c18926af83f7aff7e5462877c2898d2ccc8a
parentUse 'glibtoolize' instead of 'libtoolize' on MacOSX. (diff)
downloadvmime-75fcad48c9196c2ce25b9c17d75d9c354fe53cf2.tar.gz
vmime-75fcad48c9196c2ce25b9c17d75d9c354fe53cf2.zip
Fixed bug #2966885: memory leak caused by strong ref (thanks to tuxx from SF).
-rw-r--r--src/security/sasl/defaultSASLAuthenticator.cpp4
-rw-r--r--vmime/security/sasl/defaultSASLAuthenticator.hpp4
2 files changed, 3 insertions, 5 deletions
diff --git a/src/security/sasl/defaultSASLAuthenticator.cpp b/src/security/sasl/defaultSASLAuthenticator.cpp
index 06ffc493..32192f78 100644
--- a/src/security/sasl/defaultSASLAuthenticator.cpp
+++ b/src/security/sasl/defaultSASLAuthenticator.cpp
@@ -96,7 +96,7 @@ const string defaultSASLAuthenticator::getAnonymousToken() const
const string defaultSASLAuthenticator::getServiceName() const
{
- return m_saslSession->getServiceName();
+ return m_saslSession.acquire()->getServiceName();
}
@@ -121,7 +121,7 @@ void defaultSASLAuthenticator::setSASLSession(ref <SASLSession> sess)
ref <SASLSession> defaultSASLAuthenticator::getSASLSession() const
{
- return m_saslSession;
+ return m_saslSession.acquire();
}
diff --git a/vmime/security/sasl/defaultSASLAuthenticator.hpp b/vmime/security/sasl/defaultSASLAuthenticator.hpp
index a896b65b..7595de79 100644
--- a/vmime/security/sasl/defaultSASLAuthenticator.hpp
+++ b/vmime/security/sasl/defaultSASLAuthenticator.hpp
@@ -67,10 +67,8 @@ private:
defaultAuthenticator m_default;
-
weak_ref <net::service> m_service;
-
- ref <SASLSession> m_saslSession;
+ weak_ref <SASLSession> m_saslSession;
ref <SASLMechanism> m_saslMech;
};