From 5ca5d4aa1d66b16110c1476f3311abafa7afd26e Mon Sep 17 00:00:00 2001 From: Daniel Mentz Date: Thu, 4 Apr 2019 11:51:29 -0700 Subject: [PATCH] clean_header: Fix error handling for no-such-file case The function cleanupFile should always return a single value (as opposed to a tuple or list). In addition, if it encounters an error, it is expected to return a value that evaluates to False. As it stands, however, it returns (None, None) in certain error cases. Change this function to return None, in those cases. We previously saw the following error message, when we tried to run clean_header.py on a non-existent file. Traceback (most recent call last): File "clean_header.py", line 208, in b.updateGitFiles() File "utils.py", line 164, in updateGitFiles self._writeFile(dst) File "utils.py", line 136, in _writeFile f.write(self.new_data[dst]) TypeError: expected a string or other character buffer object (cherry picked from commit 6d6b4cedd16c3b4d6de114c622739fc5d52f4c57) Bug: 128420573 Change-Id: Id1dfab71e7efdee14950520df69f2e35219ee353 Merged-In: I5f717dd1a4388f598f0fd4bfd5e6129017de9095 --- libc/kernel/tools/clean_header.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libc/kernel/tools/clean_header.py b/libc/kernel/tools/clean_header.py index b79c9b690..88b2ae008 100755 --- a/libc/kernel/tools/clean_header.py +++ b/libc/kernel/tools/clean_header.py @@ -86,11 +86,11 @@ def cleanupFile(dst_file, src_file, rel_path, no_update = True): # Check the header path if not os.path.exists(src_file): print_error(no_update, "'%s' does not exist\n" % src_file) - return None, None + return None if not os.path.isfile(src_file): print_error(no_update, "'%s' is not a file\n" % src_file) - return None, None + return None # Extract the architecture if found. arch = None