From 8d9c2f5ffe3db46ed4ad0c16cfd37c9f134b9d53 Mon Sep 17 00:00:00 2001 From: thomas Date: Tue, 6 Dec 2022 15:58:17 +0100 Subject: [PATCH] mxvmem: make reading files more robust Reading logfiles containing 'strange' bytes, would yield errors like: "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 3221: invalid start byte" Either switch to binary input, or escape the characters in question. Here the latter was choosen. --- forensics/mxvmem | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forensics/mxvmem b/forensics/mxvmem index 5e9b69f..7b33b36 100755 --- a/forensics/mxvmem +++ b/forensics/mxvmem @@ -110,7 +110,7 @@ class ProcBuffer(): def readfile(self, fn): lines = 0 try: - f = open(fn) + f = open(fn, errors='backslashreplace') except (FileNotFoundError, PermissionError): # do nothing return 0 for line in f: @@ -155,7 +155,7 @@ class ProcInfo(ProcInfoBase): class ProcInfoSaved(ProcInfoBase): # aka forensics ''' Read from forensics file. ''' def __init__(self, logfile): - self.file = open(logfile) + self.file = open(logfile, errors='backslashreplace') self.source = logfile def __next__(self):