diff options
Diffstat (limited to 'cpp/src/qpid/broker/HeadersExchange.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/HeadersExchange.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/HeadersExchange.cpp b/cpp/src/qpid/broker/HeadersExchange.cpp index 55cdb73ac1..215a002517 100644 --- a/cpp/src/qpid/broker/HeadersExchange.cpp +++ b/cpp/src/qpid/broker/HeadersExchange.cpp @@ -46,7 +46,7 @@ HeadersExchange::HeadersExchange(const std::string& _name, bool _durable, const bool HeadersExchange::bind(Queue::shared_ptr queue, const string& /*routingKey*/, const FieldTable* args){ RWlock::ScopedWlock locker(lock); FieldTable::ValuePtr what = args->get(x_match); - if (*what != all && *what != any) { + if (!what || (*what != all && *what != any)) { THROW_QPID_ERROR(PROTOCOL_ERROR, "Invalid x-match value binding to headers exchange."); } Binding binding(*args, queue); |
