diff options
| author | Gordon Sim <gsim@apache.org> | 2015-01-13 10:25:08 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2015-01-13 10:25:08 +0000 |
| commit | 5a984f552b92187ef0a09d035db9a51009279a7a (patch) | |
| tree | a33c3c8513ef565d6f3ac584da536270ec4f42ef /qpid/cpp | |
| parent | e757e25f051ab6c0bb2656146a6f4b2b045e11d7 (diff) | |
| download | qpid-python-5a984f552b92187ef0a09d035db9a51009279a7a.tar.gz | |
QPID-6310: handle case where content bearing method is not in fact a message-transfer, which is the only one currently supported by qpidd
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1651320 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
| -rw-r--r-- | qpid/cpp/src/qpid/broker/MessageBuilder.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/MessageBuilder.cpp b/qpid/cpp/src/qpid/broker/MessageBuilder.cpp index 7cb99514d5..f5e9332052 100644 --- a/qpid/cpp/src/qpid/broker/MessageBuilder.cpp +++ b/qpid/cpp/src/qpid/broker/MessageBuilder.cpp @@ -45,6 +45,9 @@ void MessageBuilder::handle(AMQFrame& frame) switch(state) { case METHOD: checkType(METHOD_BODY, type); + if (!frame.getMethod()->isA<qpid::framing::MessageTransferBody>()) + throw NotImplementedException(QPID_MSG("Unexpected method: " << *(frame.getMethod()))); + exchange = frame.castBody<qpid::framing::MessageTransferBody>()->getDestination(); state = HEADER; break; |
