Selaa lähdekoodia

Chunker: fix infinite loop

Could happen at EOF when remaining data is insufficient and no new data can be added.
Thomas Waldmann 1 kuukausi sitten
vanhempi
sitoutus
a235cff0c5
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  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