From: Simon Glass Date: Mon, 29 May 2017 21:31:24 +0000 (-0600) Subject: patman: Don't convert input data to unicode X-Git-Tag: v2017.07-rc2~54^2~36 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5c724dc4403c63b86fef8cccd2baa47cfa870986;p=oweals%2Fu-boot.git patman: Don't convert input data to unicode The communication filter reads data in blocks and converts each block to unicode (if necessary) one at a time. In the unlikely event that a unicode character in the input spans a block this will not work. We get an error like: UnicodeDecodeError: 'utf8' codec can't decode bytes in position 1022-1023: unexpected end of data There is no need to change the input to unicode, so the easiest fix is to drop this feature. Signed-off-by: Simon Glass Tested-by: Philipp Tomsich --- diff --git a/tools/patman/cros_subprocess.py b/tools/patman/cros_subprocess.py index 7c76014340..ebd4300dfd 100644 --- a/tools/patman/cros_subprocess.py +++ b/tools/patman/cros_subprocess.py @@ -190,8 +190,6 @@ class Popen(subprocess.Popen): # We will get an error on read if the pty is closed try: data = os.read(self.stdout.fileno(), 1024) - if isinstance(data, bytes): - data = data.decode('utf-8') except OSError: pass if data == "": @@ -207,8 +205,6 @@ class Popen(subprocess.Popen): # We will get an error on read if the pty is closed try: data = os.read(self.stderr.fileno(), 1024) - if isinstance(data, bytes): - data = data.decode('utf-8') except OSError: pass if data == "":