diff --git a/volatility/framework/layers/registry.py b/volatility/framework/layers/registry.py index b2320d6e2..bba76652f 100644 --- a/volatility/framework/layers/registry.py +++ b/volatility/framework/layers/registry.py @@ -227,13 +227,14 @@ class RegistryHive(linear.LinearlyMappedLayer): def is_valid(self, offset: int, length: int = 1) -> bool: """Returns a boolean based on whether the offset is valid or not.""" - # TODO: Fix me - - # Pass this to the lower layers for now - return all([ - self.context.layers[layer].is_valid(offset, length) - for (_, offset, length, layer) in self.mapping(offset, length) - ]) + try: + # Pass this to the lower layers for now + return all([ + self.context.layers[layer].is_valid(offset, length) + for (_, offset, length, layer) in self.mapping(offset, length) + ]) + except exceptions.InvalidAddressException: + return False @property def minimum_address(self) -> int: