1
0
mirror of https://github.com/rclone/rclone.git synced 2025-12-06 00:03:32 +00:00

accounting: fix data race in Transferred()

startedTransfers is accessed by multiple threads, and it wasn't
protected by the mutex call in Transferred() func.

Fixes #4799
This commit is contained in:
Maciej Zimnoch
2020-11-26 23:54:38 +01:00
committed by Nick Craig-Wood
parent c59fe40795
commit 716019cf7d

View File

@@ -337,6 +337,8 @@ func (s *StatsInfo) String() string {
// Transferred returns list of all completed transfers including checked and
// failed ones.
func (s *StatsInfo) Transferred() []TransferSnapshot {
s.mu.RLock()
defer s.mu.RUnlock()
ts := make([]TransferSnapshot, 0, len(s.startedTransfers))
for _, tr := range s.startedTransfers {