From: alex-z Date: Thu, 4 Aug 2022 11:25:57 +0000 (+0300) Subject: Do not ignore return value of SyncJournalDB in propagator jobs X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~11^2~262^2~9 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=2d7e2d36044d86ad52c00d9c8d70e9a540ba1be8;p=nextcloud-desktop.git Do not ignore return value of SyncJournalDB in propagator jobs Signed-off-by: alex-z --- diff --git a/src/libsync/propagatorjobs.cpp b/src/libsync/propagatorjobs.cpp index bf21e5e19..62778f1ef 100644 --- a/src/libsync/propagatorjobs.cpp +++ b/src/libsync/propagatorjobs.cpp @@ -79,7 +79,9 @@ bool PropagateLocalRemove::removeRecursively(const QString &path) if (it.second) { deletedDir = it.first; } - propagator()->_journal->deleteFileRecord(it.first.mid(propagator()->localPath().size()), it.second); + if (!propagator()->_journal->deleteFileRecord(it.first.mid(propagator()->localPath().size()), it.second)) { + qCWarning(lcPropagateLocalRemove) << "Failed to delete file record from local DB" << it.first.mid(propagator()->localPath().size()); + } } _error = errors.join(", "); @@ -126,7 +128,11 @@ void PropagateLocalRemove::start() } } propagator()->reportProgress(*_item, 0); - propagator()->_journal->deleteFileRecord(_item->_originalFile, _item->isDirectory()); + if (!propagator()->_journal->deleteFileRecord(_item->_originalFile, _item->isDirectory())) { + qCWarning(lcPropagateLocalRename) << "could not delete file from local DB" << _item->_originalFile; + done(SyncFileItem::NormalError, tr("could not delete file %1 from local DB").arg(_item->_originalFile)); + return; + } propagator()->_journal->commit("Local remove"); done(SyncFileItem::Success); } @@ -243,8 +249,15 @@ void PropagateLocalRename::start() } SyncJournalFileRecord oldRecord; - propagator()->_journal->getFileRecord(_item->_originalFile, &oldRecord); - propagator()->_journal->deleteFileRecord(_item->_originalFile); + if (!propagator()->_journal->getFileRecord(_item->_originalFile, &oldRecord)) { + qCWarning(lcPropagateLocalRename) << "could not get file from local DB" << _item->_originalFile; + done(SyncFileItem::NormalError, tr("could not get file %1 from local DB").arg(_item->_originalFile)); + return; + } + if (!propagator()->_journal->deleteFileRecord(_item->_originalFile)) { + qCWarning(lcPropagateLocalRename) << "could not delete file from local DB" << _item->_originalFile; + done(SyncFileItem::NormalError, tr("could not delete file %1 from local DB").arg(_item->_originalFile)); + } auto &vfs = propagator()->syncOptions()._vfs; auto pinState = vfs->pinState(_item->_originalFile);