From 321a5d9e8496ffaf2031ed37a508bd125b430125 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Sat, 10 Sep 2022 13:41:49 +0200 Subject: HttpUploadManager: Avoid UB if UploadRequestManager does not exist --- src/client/QXmppHttpUploadManager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/client/QXmppHttpUploadManager.cpp') diff --git a/src/client/QXmppHttpUploadManager.cpp b/src/client/QXmppHttpUploadManager.cpp index 04153b9b..e0ce05f9 100644 --- a/src/client/QXmppHttpUploadManager.cpp +++ b/src/client/QXmppHttpUploadManager.cpp @@ -278,6 +278,13 @@ std::shared_ptr QXmppHttpUploadManager::uploadFile(QIODevice *d std::shared_ptr upload(new QXmppHttpUpload); + auto *uploadRequestManager = client()->findExtension(); + if (!uploadRequestManager) { + upload->d->reportError({ QStringLiteral("QXmppUploadRequestManager has not been added to the client."), std::any() }); + upload->d->reportFinished(); + return upload; + } + if (!data->isOpen()) { upload->d->reportError({ QStringLiteral("Input data device MUST be open."), std::any() }); upload->d->reportFinished(); -- cgit v1.2.3