fix(sync): S-04 — eliminate TOCTOU by recording actual bytes written
This commit is contained in:
+5
-2
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user