summaryrefslogtreecommitdiff
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
commit598a9d7302ffad7653cada366084c3516ee35ad8 (patch)
tree56cd1343a8096e7b21411615413b11181a39b0d5
parent83120216de949c1cae3004c74475cc6c54cd61f1 (diff)
downloadqpid-python-598a9d7302ffad7653cada366084c3516ee35ad8.tar.gz
Fix possible double-free discussed in QPID-6368
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1663828 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qpid/broker/PersistableQueue.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/qpid/cpp/src/qpid/broker/PersistableQueue.h b/qpid/cpp/src/qpid/broker/PersistableQueue.h
index 655d26bc74..6733163084 100644
--- a/qpid/cpp/src/qpid/broker/PersistableQueue.h
+++ b/qpid/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;