mirror of
https://github.com/volatilityfoundation/volatility3.git
synced 2026-08-17 20:35:40 +02:00
catch InvalidAddressException when traversing left and right child VADs (triggered on terminated processes)
This commit is contained in:
@@ -101,11 +101,17 @@ class MMVAD_SHORT(objects.StructType):
|
||||
vad_object = self.cast(target)
|
||||
yield vad_object
|
||||
|
||||
for vad_node in self.get_left_child().dereference().traverse(visited, depth + 1):
|
||||
yield vad_node
|
||||
try:
|
||||
for vad_node in self.get_left_child().dereference().traverse(visited, depth + 1):
|
||||
yield vad_node
|
||||
except exceptions.InvalidAddressException as excp:
|
||||
vollog.log(constants.LOGLEVEL_VVV, "Invalid address on LeftChild: {0:#x}".format(excp.invalid_address))
|
||||
|
||||
for vad_node in self.get_right_child().dereference().traverse(visited, depth + 1):
|
||||
yield vad_node
|
||||
try:
|
||||
for vad_node in self.get_right_child().dereference().traverse(visited, depth + 1):
|
||||
yield vad_node
|
||||
except exceptions.InvalidAddressException as excp:
|
||||
vollog.log(constants.LOGLEVEL_VVV, "Invalid address on RightChild: {0:#x}".format(excp.invalid_address))
|
||||
|
||||
def get_right_child(self):
|
||||
"""Get the right child member."""
|
||||
|
||||
Reference in New Issue
Block a user