From 2264fb92e00e60031fa9d472ef7df305a7761aa6 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Wed, 16 Mar 2022 19:28:25 +0100 Subject: Message: Processing Hints: Fix UB when parsing unknown hint --- src/base/QXmppMessage.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/base/QXmppMessage.cpp') diff --git a/src/base/QXmppMessage.cpp b/src/base/QXmppMessage.cpp index 9ec64d7f..45bc60be 100644 --- a/src/base/QXmppMessage.cpp +++ b/src/base/QXmppMessage.cpp @@ -1449,7 +1449,9 @@ void QXmppMessage::parseExtension(const QDomElement &element, QXmppElementList & } else if (element.namespaceURI() == ns_message_processing_hints && HINT_TYPES.contains(element.tagName())) { // XEP-0334: Message Processing Hints - addHint(Hint(1 << HINT_TYPES.indexOf(element.tagName()))); + if (const auto index = HINT_TYPES.indexOf(element.tagName()); index >= 0) { + addHint(Hint(1 << index)); + } } else if (checkElement(element, QStringLiteral("stanza-id"), ns_sid)) { // XEP-0359: Unique and Stable Stanza IDs d->stanzaId = element.attribute(QStringLiteral("id")); -- cgit v1.2.3