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>
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)