You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2013/11/12 17:58:29 UTC
svn commit: r1541144 - /qpid/trunk/qpid/cpp/src/qpid/SaslFactory.cpp
Author: aconway
Date: Tue Nov 12 16:58:29 2013
New Revision: 1541144
URL: http://svn.apache.org/r1541144
Log:
QPID-5275: Segmentation fault in SaslFactory.
Discovered while working on QPID-5275: SecretsMap in SaslFactory.cpp was thread
unsafe, added a mutex.
Modified:
qpid/trunk/qpid/cpp/src/qpid/SaslFactory.cpp
Modified: qpid/trunk/qpid/cpp/src/qpid/SaslFactory.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/SaslFactory.cpp?rev=1541144&r1=1541143&r2=1541144&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/SaslFactory.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/SaslFactory.cpp Tue Nov 12 16:58:29 2013
@@ -603,8 +603,10 @@ namespace {
class SecretsMap {
typedef std::map<sasl_conn_t*, void*> Map;
Map map;
+ sys::Mutex lock;
public:
void keep(sasl_conn_t* conn, void* secret) {
+ sys::Mutex::ScopedLock l(lock);
Map::iterator i = map.find(conn);
if (i != map.end()) free(i->second);
map[conn] = secret;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org