]> code.ossystems Code Review - openembedded-core.git/commitdiff
cve-check: get_cve_info should open the database read-only
authorRoss Burton <ross@burtonini.com>
Wed, 23 Feb 2022 12:54:31 +0000 (12:54 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 25 Feb 2022 12:39:00 +0000 (12:39 +0000)
All of the function in cve-check should open the database read-only, as
the only writer is the fetch task in cve-update-db.  However,
get_cve_info() was failing to do this, which might be causing locking
issues with sqlite.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/cve-check.bbclass

index 2d69aeba4ba1e5d34521a345df190ccdfc33bc92..d715fbf4d8a001e6268e4f8a8c38f6422909891c 100644 (file)
@@ -265,7 +265,8 @@ def get_cve_info(d, cves):
     import sqlite3
 
     cve_data = {}
-    conn = sqlite3.connect(d.getVar("CVE_CHECK_DB_FILE"))
+    db_file = d.expand("file:${CVE_CHECK_DB_FILE}?mode=ro")
+    conn = sqlite3.connect(db_file, uri=True)
 
     for cve in cves:
         for row in conn.execute("SELECT * FROM NVD WHERE ID IS ?", (cve,)):