Potential fix for crash in PropagateDirectory::abort (#5564)
authorJocelyn Turcotte <jturcotte@woboq.com>
Mon, 27 Feb 2017 16:09:29 +0000 (17:09 +0100)
committerMarkus Goetz <markus@woboq.com>
Mon, 27 Feb 2017 16:09:29 +0000 (17:09 +0100)
src/libsync/owncloudpropagator.cpp

index f54d57a334d7782e5f6ed9a625cf22b5041dcde5..6e73c0d5dbc2eba9825b4347ecb1c6dfbdc2ba0d 100644 (file)
@@ -661,8 +661,10 @@ void PropagateDirectory::slotSubJobFinished(SyncFileItem::Status status)
         _firstJob.take();
     } else {
         int i = _subJobs.indexOf(subJob);
+        // Shouldn't happen but could be -1 if finished was emitted twice for a job.
         ASSERT(i >= 0);
-        _subJobs.remove(i);
+        if (i >= 0)
+            _subJobs.remove(i);
     }
 
     if (status == SyncFileItem::FatalError ||