fix(sync): S-04 — eliminate TOCTOU by recording actual bytes written

This commit is contained in:
2026-09-19 08:57:34 +02:00
parent 888c86ca5e
commit f557a9ddfa
2 changed files with 51 additions and 2 deletions
+5 -2
View File
@@ -336,9 +336,12 @@ pub fn sync_single_file_to_vault(
// Bei Überschreiben einer ehemals größeren Datei überzählige alte Chunks entfernen
db.truncate_chunks_after(node_id, chunk_idx.saturating_sub(1))?;
db.update_node_size_and_time(node_id, local_size, local_mtime)?;
// S-04: Verwende bytes_written statt local_size zur Vermeidung von TOCTOU-Diskrepanzen
db.update_node_size_and_time(node_id, bytes_written, local_mtime)?;
Ok(FileTransferResult::Transferred { size: local_size })
Ok(FileTransferResult::Transferred {
size: bytes_written,
})
}
/// Synchronisiert eine Datei aus dem Tresor auf die lokale Festplatte (Pull).