summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorStephen D. Huston <shuston@apache.org>2015-03-03 23:09:54 +0000
committerStephen D. Huston <shuston@apache.org>2015-03-03 23:09:54 +0000
commit9b5aa24f89cda8817998c34aedc62eb0b24494cb (patch)
treeca6542d5a74b9c3dc8453ef5a889d77133298ea6 /cpp
parent2a617da87fc1039be7d011aca64cd70ac59c9539 (diff)
downloadqpid-python-9b5aa24f89cda8817998c34aedc62eb0b24494cb.tar.gz
Fix possible double-free discussed in QPID-6368
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1663828 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/qpid/broker/PersistableQueue.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/PersistableQueue.h b/cpp/src/qpid/broker/PersistableQueue.h
index 655d26bc74..6733163084 100644
--- a/cpp/src/qpid/broker/PersistableQueue.h
+++ b/cpp/src/qpid/broker/PersistableQueue.h
@@ -25,7 +25,6 @@
#include <string>
#include "qpid/broker/Persistable.h"
#include "qpid/management/Manageable.h"
-#include <boost/shared_ptr.hpp>
namespace qpid {
namespace broker {
@@ -51,12 +50,12 @@ public:
class PersistableQueue : public Persistable
{
public:
- typedef boost::shared_ptr<PersistableQueue> shared_ptr;
-
virtual const std::string& getName() const = 0;
virtual ~PersistableQueue() {
- if (externalQueueStore)
+ if (externalQueueStore) {
delete externalQueueStore;
+ externalQueueStore = 0;
+ }
};
virtual void setExternalQueueStore(ExternalQueueStore* inst) = 0;