diff options
| author | Jan Lorenz <lichtzeichner@users.noreply.github.com> | 2020-12-11 17:58:17 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2020-12-11 18:01:43 +0100 |
| commit | b919c654e8b88d4ba4ce0421f359751a864e0915 (patch) | |
| tree | f205a8143707ba52a8a0bcb5a909a153813c19bf /src/client/QXmppTransferManager.cpp | |
| parent | 7b46c85e651a0fba7d4c14d2ae1fa766ed306a77 (diff) | |
| download | qxmpp-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.cpp | 8 |
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; |
