diff --git a/volatility/framework/interfaces/layers.py b/volatility/framework/interfaces/layers.py index 3d98c52ce..3c005e68d 100644 --- a/volatility/framework/interfaces/layers.py +++ b/volatility/framework/interfaces/layers.py @@ -214,7 +214,8 @@ class DataLayerInterface(configuration.ConfigurableInterface, validity.ValidityR def _scan_chunk(self, scanner, min_address, max_address, progress, iterator_value): length = min(scanner.chunk_size + scanner.overlap, max_address - iterator_value) chunk = self.read(iterator_value, length) - progress.value = iterator_value + # Don't include the overlaps, or we'll go over 100% + progress.value += min(scanner.chunk_size, max_address - iterator_value) return list(scanner(chunk, iterator_value)) def _scan_metric(self, _scanner, min_address, max_address, value):