diff --git a/src/plugins/kio-webdav/createnetattachjob.cpp b/src/plugins/kio-webdav/createnetattachjob.cpp index 3da54cc9fa37fa5106a1a50a6e234384fce6afd7..7e126f3b6445018446553b990c7f0b4814586d2d 100644 --- a/src/plugins/kio-webdav/createnetattachjob.cpp +++ b/src/plugins/kio-webdav/createnetattachjob.cpp @@ -19,6 +19,7 @@ #include #include #include +#include using namespace KWallet; @@ -89,10 +90,14 @@ void CreateNetAttachJob::getRealm() void CreateNetAttachJob::gotRealm(KJob *job) { KIO::TransferJob *hJob = qobject_cast(job); - QRegExp rx(QStringLiteral("www-authenticate: Basic realm=\"(\\S+)\"\n")); + QRegularExpression rx(QStringLiteral("www-authenticate: Basic realm=\"([^\"]+)\"")); + Q_ASSERT(rx.isValid()); QString headers = hJob->metaData().value(QStringLiteral("HTTP-Headers")); - if (rx.indexIn(headers) != -1) { - m_realm = rx.cap(1); + + auto match = rx.match(headers); + + if (match.hasMatch()) { + m_realm = match.captured(1); } createDesktopFile(hJob->url());