Преглед на файлове

Chunker: fix infinite loop

Could happen at EOF when remaining data is insufficient and no new data can be added.
Thomas Waldmann преди 1 месец
родител
ревизия
a235cff0c5
променени са 1 файла, в които са добавени 1 реда и са изтрити 1 реда
  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