Edit locally. Fix crash on _chekTokenJob pointer deref.
authoralex-z <blackslayer4@gmail.com>
Fri, 28 Apr 2023 12:45:07 +0000 (14:45 +0200)
committerallexzander <allexzander@users.noreply.github.com>
Thu, 4 May 2023 08:49:58 +0000 (10:49 +0200)
Signed-off-by: alex-z <blackslayer4@gmail.com>
src/gui/editlocallyjob.cpp
src/gui/editlocallyjob.h

index cf2c108226150dab5fe3ee2c0686d8d8d1adc170..18055d8d6b648d5e25496a1e5cb8601b6949e2b7 100644 (file)
@@ -98,16 +98,16 @@ void EditLocallyJob::startTokenRemoteCheck()
     const auto encodedToken = QString::fromUtf8(QUrl::toPercentEncoding(_token)); // Sanitise the token
     const auto encodedRelPath = QUrl::toPercentEncoding(_relPath); // Sanitise the relPath
 
-    _checkTokenJob.reset(new SimpleApiJob(_accountState->account(),
-                                          QStringLiteral("/ocs/v2.php/apps/files/api/v1/openlocaleditor/%1").arg(encodedToken)));
+    const auto checkTokenJob = new SimpleApiJob(_accountState->account(),
+                                          QStringLiteral("/ocs/v2.php/apps/files/api/v1/openlocaleditor/%1").arg(encodedToken));
 
     QUrlQuery params;
     params.addQueryItem(QStringLiteral("path"), prefixSlashToPath(encodedRelPath));
-    _checkTokenJob->addQueryParams(params);
-    _checkTokenJob->setVerb(SimpleApiJob::Verb::Post);
-    connect(_checkTokenJob.get(), &SimpleApiJob::resultReceived, this, &EditLocallyJob::remoteTokenCheckResultReceived);
+    checkTokenJob->addQueryParams(params);
+    checkTokenJob->setVerb(SimpleApiJob::Verb::Post);
+    connect(checkTokenJob, &SimpleApiJob::resultReceived, this, &EditLocallyJob::remoteTokenCheckResultReceived);
 
-    _checkTokenJob->start();
+    checkTokenJob->start();
 }
 
 void EditLocallyJob::remoteTokenCheckResultReceived(const int statusCode)
index 8eeaa4afbbf9c7797237af51fdb2f637c70c211a..06364fba963f3a588d1419cfdaba1b274059cbd4 100644 (file)
@@ -106,7 +106,6 @@ private:
     QString _localFilePath;
     QString _folderRelativePath;
     Folder *_folderForFile = nullptr;
-    std::unique_ptr<SimpleApiJob> _checkTokenJob;
     QMetaObject::Connection _syncTerminatedConnection = {};
     QVector<QMetaObject::Connection> _folderConnections;
 };