summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorMikko Rapeli <mikko.rapeli@bmw.de>2017-06-01 18:51:33 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-05 09:19:51 +0100
commitbc9c714e8b0cccfc60aea4ad1be3a0666427a401 (patch)
tree78afa11a81e230dcfa2d996cf4c9a704a43cc699 /bitbake
parentca68d71ddc2e3ffc92d6215345a5909b688cc325 (diff)
downloadpoky-bc9c714e8b0cccfc60aea4ad1be3a0666427a401.tar.gz
bitbake: bitbake: Fix return value checks from subprocess.call()'s
Python function subprocess.call() returns the return value of the executed process. If return values are not checked, errors may go unnoticed and bad things can happen. Change all callers of subprocess.call() which do not check for the return value to use subprocess.check_call() which raises CalledProcessError if the subprocess returns with non-zero value. https://docs.python.org/2/library/subprocess.html#using-the-subprocess-module All users of the function were found with: $ git grep "subprocess\.call" | \ egrep -v 'if.*subprocess\.call|=\ +subprocess\.call|return.*subprocess\.call' Tested similar patch on top of yocto jethro. Only compile tested core-image-minimal on poky master branch. (Bitbake rev: d2cf67bcaf001acb6be8fc5884fb450649849847) Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/ui/ncurses.py2
-rw-r--r--bitbake/lib/bb/utils.py2
2 files changed, 2 insertions, 2 deletions
diff --git a/bitbake/lib/bb/ui/ncurses.py b/bitbake/lib/bb/ui/ncurses.py
index d81e4138ba..ca845a32ad 100644
--- a/bitbake/lib/bb/ui/ncurses.py
+++ b/bitbake/lib/bb/ui/ncurses.py
@@ -297,7 +297,7 @@ class NCursesUI:
297# bb.error("log data follows (%s)" % logfile) 297# bb.error("log data follows (%s)" % logfile)
298# number_of_lines = data.getVar("BBINCLUDELOGS_LINES", d) 298# number_of_lines = data.getVar("BBINCLUDELOGS_LINES", d)
299# if number_of_lines: 299# if number_of_lines:
300# subprocess.call('tail -n%s %s' % (number_of_lines, logfile), shell=True) 300# subprocess.check_call('tail -n%s %s' % (number_of_lines, logfile), shell=True)
301# else: 301# else:
302# f = open(logfile, "r") 302# f = open(logfile, "r")
303# while True: 303# while True:
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
index 077fddc0ee..6a44db57d7 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/lib/bb/utils.py
@@ -680,7 +680,7 @@ def remove(path, recurse=False):
680 if _check_unsafe_delete_path(path): 680 if _check_unsafe_delete_path(path):
681 raise Exception('bb.utils.remove: called with dangerous path "%s" and recurse=True, refusing to delete!' % path) 681 raise Exception('bb.utils.remove: called with dangerous path "%s" and recurse=True, refusing to delete!' % path)
682 # shutil.rmtree(name) would be ideal but its too slow 682 # shutil.rmtree(name) would be ideal but its too slow
683 subprocess.call(['rm', '-rf'] + glob.glob(path)) 683 subprocess.check_call(['rm', '-rf'] + glob.glob(path))
684 return 684 return
685 for name in glob.glob(path): 685 for name in glob.glob(path):
686 try: 686 try: