mirror of
https://github.com/volatilityfoundation/volatility3.git
synced 2026-09-01 04:39:03 +02:00
Improve error handling to prevent endless recursion in template.__call__
This commit is contained in:
@@ -121,7 +121,7 @@ class SymbolSpace(collections.abc.Mapping):
|
||||
elif resolve_type == SymbolType.SYMBOL:
|
||||
get_function = 'get_symbol'
|
||||
else:
|
||||
raise ValueError("Weak_resolve called without a proper SymbolType.")
|
||||
raise ValueError("Weak_resolve called without a proper SymbolType")
|
||||
|
||||
name_array = name.split(constants.BANG)
|
||||
if len(name_array) == 2:
|
||||
@@ -166,6 +166,8 @@ class SymbolSpace(collections.abc.Mapping):
|
||||
template_traverse_list.append(child)
|
||||
for (parent, child) in replacements:
|
||||
parent.replace_child(child, self._resolved[child.vol.type_name])
|
||||
if isinstance(self._resolved[type_name], objects.templates.ReferenceTemplate):
|
||||
raise exceptions.SymbolError("Unresolvable symbol requested: {}".format(type_name))
|
||||
return self._resolved[type_name]
|
||||
|
||||
def get_symbol(self, symbol_name):
|
||||
|
||||
Reference in New Issue
Block a user