From fb8143f7f42193fc8246817d696dc45000a8036d Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Sun, 25 Dec 2016 18:35:13 +0000 Subject: [PATCH] Ensure Intermediate natives include their table name during resolution. --- volatility/framework/symbols/intermed.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/volatility/framework/symbols/intermed.py b/volatility/framework/symbols/intermed.py index 2f45d5425..a1ca6f6f8 100644 --- a/volatility/framework/symbols/intermed.py +++ b/volatility/framework/symbols/intermed.py @@ -190,7 +190,7 @@ class Version1Format(ISFormatTable): if type_name in self.natives.types: # The symbol is a native type - native_template = self.natives.get_type(type_name) + native_template = self.natives.get_type(self.name + constants.BANG + type_name) # Add specific additional parameters, etc update = {} @@ -237,7 +237,7 @@ class Version1Format(ISFormatTable): raise exceptions.SymbolError("Symbol for a different table requested: {}".format(type_name)) if type_name not in self._json_object['user_types']: # Fall back to the natives table - return self.natives.get_type(type_name) + return self.natives.get_type(self.name + constants.BANG + type_name) curdict = self._json_object['user_types'][type_name] members = {} for member_name in curdict['fields']: @@ -280,7 +280,7 @@ class Version2Format(Version1Format): raise exceptions.SymbolError("Symbol for a different table requested: {}".format(type_name)) if type_name not in self._json_object['user_types']: # Fall back to the natives table - return self.natives.get_type(type_name) + return self.natives.get_type(self.name + constants.BANG + type_name) curdict = self._json_object['user_types'][type_name] members = {} for member_name in curdict['fields']: