summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/amqp/Topic.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/broker/amqp/Topic.cpp b/qpid/cpp/src/qpid/broker/amqp/Topic.cpp
index 7d77343f26..77561d1111 100644
--- a/qpid/cpp/src/qpid/broker/amqp/Topic.cpp
+++ b/qpid/cpp/src/qpid/broker/amqp/Topic.cpp
@@ -117,8 +117,12 @@ bool TopicRegistry::deleteObject(Broker& broker, const std::string& type, const
{
if (type == TOPIC) {
boost::shared_ptr<Topic> topic = remove(name);
- if (topic->isDurable()) broker.getStore().destroy(*topic);
- return true;
+ if (topic) {
+ if (topic->isDurable()) broker.getStore().destroy(*topic);
+ return true;
+ } else {
+ return false;
+ }
} else {
return false;
}