From 2cd6a9478ff715b730c790325571a14494d2193e Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Fri, 3 Apr 2020 00:00:57 +0100 Subject: [PATCH] Intermed: Resolve unintended change of length to size and issue with anonymous checking --- volatility/framework/symbols/intermed.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/volatility/framework/symbols/intermed.py b/volatility/framework/symbols/intermed.py index d4375306f..f08881b90 100644 --- a/volatility/framework/symbols/intermed.py +++ b/volatility/framework/symbols/intermed.py @@ -602,7 +602,7 @@ class Version8Format(Version7Format): def _reduce_indirect_members(self, members: Dict[str, Dict[str, Any]]) -> Dict[str, Dict[str, Any]]: result = {} for member in members: - if members[member].get('anonymous', False): + if isinstance(members[member], dict) and members[member].get('anonymous', False): # Do checks to make sure the new dictionary is appropriate parent_item = members[member] submembers = self._reduce_indirect_members(self._json_object['user_types'].get(parent_item['type'], {})) @@ -637,5 +637,5 @@ class Version8Format(Version7Format): object_class = clazz return objects.templates.ObjectTemplate(type_name = self.name + constants.BANG + type_name, object_class = object_class, - size = curdict['length'], + size = curdict['size'], members = members)