QPID-7225: ensure message to be released is acquired

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1740422 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/qpid/cpp/src/qpid/broker/IndexedDeque.h b/qpid/cpp/src/qpid/broker/IndexedDeque.h
index 229b4e3..e13a218 100644
--- a/qpid/cpp/src/qpid/broker/IndexedDeque.h
+++ b/qpid/cpp/src/qpid/broker/IndexedDeque.h
@@ -112,7 +112,7 @@
     T* release(const QueueCursor& cursor)
     {
         size_t i;
-        if (cursor.valid && index(cursor.position, i)) {
+        if (cursor.valid && index(cursor.position, i) && messages[i].getState() == ACQUIRED) {
             messages[i].setState(AVAILABLE);
             ++version;
             QPID_LOG(debug, "Released message at position " << cursor.position << ", index " << i);