Parcourir la source

Chunker: fix infinite loop

Could happen at EOF when remaining data is insufficient and no new data can be added.
Thomas Waldmann il y a 1 mois
Parent
commit
a235cff0c5
1 fichiers modifiés avec 1 ajouts et 1 suppressions
  1. 1 1
      src/borg/chunker.pyx

+ 1 - 1
src/borg/chunker.pyx

@@ -680,7 +680,7 @@ cdef class Chunker:
         self.remaining -= min_size
         sum = _buzhash(self.data + self.position, window_size, self.table)
 
-        while self.remaining > self.window_size and (sum & chunk_mask):
+        while self.remaining > self.window_size and (sum & chunk_mask) and not (self.eof and self.remaining <= window_size):
             p = self.data + self.position
             stop_at = p + self.remaining - window_size