PropagateUpload: fix crash in PUTFileJob::slotTimeout
authorOlivier Goffart <ogoffart@woboq.com>
Wed, 15 Jun 2016 12:32:25 +0000 (14:32 +0200)
committerOlivier Goffart <ogoffart@woboq.com>
Wed, 15 Jun 2016 12:32:25 +0000 (14:32 +0200)
Same fix as in commit 60c101d9

From the crash reporter:

Crash
EXCEPTION_ACCESS_VIOLATION_READ at 0x4
qnetworkreply.cpp in QNetworkReply::request at line 476
propagateupload.cpp in OCC::PUTFileJob::slotTimeout at line 100
moc_abstractnetworkjob.cpp in OCC::AbstractNetworkJob::qt_static_metacall at line 98
qobject.cpp in QMetaObject::activate at line 3716
moc_qtimer.cpp in QTimer::timeout at line 192
qtimer.cpp in QTimer::timerEvent at line 247
qobject.cpp in QObject::event at line 1267
qapplication.cpp in QApplicationPrivate::notify_helper at line 3722
qapplication.cpp in QApplication::notify at line 3505
qcoreapplication.cpp in QCoreApplication::notifyInternal at line 932

src/libsync/propagateupload.cpp

index 2ef53dd6becf8859c514ab276b1a293b4138d8d3..5875ae739c78f099bb597f60cb84d32077540149 100644 (file)
@@ -97,7 +97,9 @@ void PUTFileJob::start() {
 }
 
 void PUTFileJob::slotTimeout() {
-    qDebug() << "Timeout" << reply()->request().url();
+    qDebug() << "Timeout" << (reply() ? reply()->request().url() : path());
+    if (!reply())
+        return;
     _errorString =  tr("Connection Timeout");
     reply()->abort();
 }