Catch unicode decode errors search for kernel ver

If a kernel happens to decode to gibberish (including
non-ascii bytes), catch the decoding error when
searching for the kernel version.

Bug: 137041171
Merged-In: Ic035b3a5c8c80025cb3cede7b0fdcf8a2e5a35fd
Change-Id: Ic035b3a5c8c80025cb3cede7b0fdcf8a2e5a35fd
This commit is contained in:
Andrew Chant 2019-07-08 15:53:00 -07:00
parent f5c3510081
commit 5d323c1714

View File

@ -47,7 +47,10 @@ def get_version(input_bytes, start_idx):
null_idx = input_bytes.find('\x00', start_idx) null_idx = input_bytes.find('\x00', start_idx)
if null_idx < 0: if null_idx < 0:
return None return None
linux_banner = input_bytes[start_idx:null_idx].decode() try:
linux_banner = input_bytes[start_idx:null_idx].decode()
except UnicodeDecodeError:
return None
mo = re.match(LINUX_BANNER_REGEX, linux_banner) mo = re.match(LINUX_BANNER_REGEX, linux_banner)
if mo: if mo:
return mo.group(1) return mo.group(1)