From d0a5d4ba3f756d0767ceab831e04e990b5164ee2 Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Sun, 3 Nov 2019 23:23:29 +0000 Subject: [PATCH] layers: Ensure the new registry check doesn't throw an exception. --- volatility/framework/layers/registry.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) 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: