]> code.ossystems Code Review - openembedded-core.git/commitdiff
cve-check: fail gracefully when file not found
authorArmin Kuster <akuster808@gmail.com>
Wed, 11 Dec 2019 16:16:04 +0000 (08:16 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 28 Dec 2019 23:25:34 +0000 (23:25 +0000)
With out these changes, a traceback displayed when a file
is listed in the SRC_URI but the file does not exist.

raise FileNotFoundError and print the patch then mark the task as failed.

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/cve-check.bbclass

index 01b363746991a11979a47d225669bd781a9a1d81..74124364b2a39afd7086a29456a1daaa419020e2 100644 (file)
@@ -52,7 +52,10 @@ python do_cve_check () {
     """
 
     if os.path.exists(d.getVar("CVE_CHECK_DB_FILE")):
-        patched_cves = get_patches_cves(d)
+        try:
+            patched_cves = get_patches_cves(d)
+        except FileNotFoundError:
+            bb.fatal("Failure in searching patches")
         patched, unpatched = check_cves(d, patched_cves)
         if patched or unpatched:
             cve_data = get_cve_info(d, patched + unpatched)
@@ -129,6 +132,10 @@ def get_patches_cves(d):
     for url in src_patches(d):
         patch_file = bb.fetch.decodeurl(url)[2]
 
+        if not os.path.isfile(patch_file):
+            bb.error("File Not found: %s" % patch_file)
+            raise FileNotFoundError
+
         # Check patch file name for CVE ID
         fname_match = cve_file_name_match.search(patch_file)
         if fname_match: