From 4c2d2f98da5c6fcbfe8e8aa2efa590438cdf1444 Mon Sep 17 00:00:00 2001 From: David McDonald Date: Thu, 24 Oct 2024 15:39:15 -0500 Subject: [PATCH] Removes collections.abc.Iterable superclass Per @gcmoreira this is the correct fix vs the one previously proposed, since self.vol.member_name cannot be used as the member name to iterate this type. --- volatility3/framework/symbols/linux/extensions/__init__.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/volatility3/framework/symbols/linux/extensions/__init__.py b/volatility3/framework/symbols/linux/extensions/__init__.py index 9bd401db2..eba775714 100644 --- a/volatility3/framework/symbols/linux/extensions/__init__.py +++ b/volatility3/framework/symbols/linux/extensions/__init__.py @@ -1004,7 +1004,7 @@ class list_head(objects.StructType, collections.abc.Iterable): return self.to_list(self.vol.parent.vol.type_name, self.vol.member_name) -class hlist_head(objects.StructType, collections.abc.Iterable): +class hlist_head(objects.StructType): def to_list( self, symbol_type: str, @@ -1037,9 +1037,6 @@ class hlist_head(objects.StructType, collections.abc.Iterable): current = current.next - def __iter__(self) -> Iterator[interfaces.objects.ObjectInterface]: - return self.to_list(self.vol.parent.vol.type_name, self.vol.member_name) - class files_struct(objects.StructType): def get_fds(self) -> interfaces.objects.ObjectInterface: