Mercurial > dropbear
diff test/parent_dropbear_map.py @ 1874:1c9215154d4a
Handle /proc/.../maps being reordered
We now search for the first r-xp line in the file
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 03 Feb 2022 22:13:06 +0800 |
parents | 2b3a8026a6ce |
children |
line wrap: on
line diff
--- a/test/parent_dropbear_map.py Thu Feb 03 22:12:11 2022 +0800 +++ b/test/parent_dropbear_map.py Thu Feb 03 22:13:06 2022 +0800 @@ -9,7 +9,7 @@ want_name = "dropbear" -# Walks up the parent process tree, prints the first line of /proc/pid/maps when +# Walks up the parent process tree, prints a r-xp line of /proc/pid/maps when # it finds the wanted name def main(): @@ -22,8 +22,10 @@ if want_name in p.name(): with (Path('/proc') / str(p.pid) / "maps").open() as f: - map0 = f.readline().rstrip() - print(map0) + for i, l in enumerate(f, 1): + if ' r-xp ' in l: + print(l.rstrip()) + break return raise RuntimeError(f"Couldn't find parent {want_name} process")