tests: Skip memory read errors in read_process_memory()

It looks like the lifetime_in_memory test cases can hit a read failure
(Errno 5 - Input/output error) every now and then, so skip memory areas
that report that, but go through all readable process memory.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2023-12-10 21:38:46 +02:00
parent 48bab76ab0
commit 8d8205f737

View file

@ -2621,8 +2621,12 @@ def read_process_memory(pid, key=None):
for name in ["[heap]", "[stack]"]:
if name in l:
logger.info("%s 0x%x-0x%x is at %d-%d" % (name, start, end, len(buf), len(buf) + (end - start)))
mem.seek(start)
data = mem.read(end - start)
try:
mem.seek(start)
data = mem.read(end - start)
except OSError as e:
logger.info("Could not read mem: start=%d end=%d: %s" % (start, end, str(e)))
continue
buf += data
if key and key in data:
logger.info("Key found in " + l)