aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Lorenz <lichtzeichner@users.noreply.github.com>2020-12-11 17:58:17 +0100
committerGitHub <noreply@github.com>2020-12-11 17:58:17 +0100
commit8367c295fbaef907daa67a6173c228c80b7b974b (patch)
tree5c5b9afc568d33b73bd9147a3a906871cd15f453 /src
parentb1c432dd28ec5e7e105b4b6249b395effb94047e (diff)
downloadqxmpp-8367c295fbaef907daa67a6173c228c80b7b974b.tar.gz
QXmppTransferManager: Fix undefined behaviour when parsing features (#322)
Co-authored-by: Jan Lorenz <jan.lorenz@pascom.net>
Diffstat (limited to 'src')
-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;