Skip to content

Commit ff6de6e

Browse files
authored
Merge pull request #1795 from Abyss-W4tcher/dentry_names_forward_slashes
Linux: prevent "forward slashes only" dentry names
2 parents 686057d + 2759df8 commit ff6de6e

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

volatility3/framework/symbols/linux/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ def do_get_path(cls, rdentry, rmnt, dentry, vfsmnt) -> Union[None, str]:
169169
return ""
170170

171171
path_reversed = []
172+
smeared = False
172173
while (
173174
dentry
174175
and dentry.is_readable()
@@ -190,10 +191,16 @@ def do_get_path(cls, rdentry, rmnt, dentry, vfsmnt) -> Union[None, str]:
190191

191192
parent = dentry.d_parent
192193
dname = dentry.d_name.name_as_str()
194+
# empty dentry names are most likely
195+
# the result of smearing
196+
if not dname:
197+
smeared = True
193198
path_reversed.append(dname.strip("/"))
194199
dentry = parent
195200

196201
path = "/" + "/".join(reversed(path_reversed))
202+
if smeared:
203+
return f"<potentially smeared> {path}"
197204
return path
198205

199206
@classmethod

0 commit comments

Comments
 (0)