aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppTransferManager.cpp
diff options
context:
space:
mode:
authorJan Lorenz <lichtzeichner@users.noreply.github.com>2020-12-11 17:58:17 +0100
committerLinus Jahn <lnj@kaidan.im>2020-12-11 18:01:43 +0100
commitb919c654e8b88d4ba4ce0421f359751a864e0915 (patch)
treef205a8143707ba52a8a0bcb5a909a153813c19bf /src/client/QXmppTransferManager.cpp
parent7b46c85e651a0fba7d4c14d2ae1fa766ed306a77 (diff)
downloadqxmpp-b919c654e8b88d4ba4ce0421f359751a864e0915.tar.gz
QXmppTransferManager: Fix undefined behaviour when parsing features (#322)
Co-authored-by: Jan Lorenz <jan.lorenz@pascom.net>
Diffstat (limited to 'src/client/QXmppTransferManager.cpp')
-rw-r--r--src/client/QXmppTransferManager.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/client/QXmppTransferManager.cpp b/src/client/QXmppTransferManager.cpp
index 098e8d6b..b68ab595 100644
--- a/src/client/QXmppTransferManager.cpp
+++ b/src/client/QXmppTransferManager.cpp
@@ -1342,7 +1342,9 @@ void QXmppTransferManager::streamInitiationResultReceived(const QXmppStreamIniti
job->state() != QXmppTransferJob::OfferState)
return;
- const auto &fields = iq.featureForm().fields();
+ const auto &form = iq.featureForm();
+ const auto &fields = form.fields();
+
for (const auto &field : fields) {
if (field.key() == "stream-method") {
if ((field.value().toString() == ns_ibb) &&
@@ -1423,7 +1425,9 @@ void QXmppTransferManager::streamInitiationSetReceived(const QXmppStreamInitiati
job->d->sid = iq.siId();
job->d->mimeType = iq.mimeType();
job->d->fileInfo = iq.fileInfo();
- const auto &fields = iq.featureForm().fields();
+
+ const auto &form = iq.featureForm();
+ const auto &fields = form.fields();
for (const auto &field : fields) {
if (field.key() == "stream-method") {
QPair<QString, QString> option;