]> code.ossystems Code Review - openembedded-core.git/commitdiff
cve-check-tool: fix crash on exceptions
authorPeter Marko <peter.marko@siemens.com>
Wed, 7 Jun 2017 06:04:31 +0000 (08:04 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 12 Jun 2017 14:04:07 +0000 (15:04 +0100)
This fixes cve-check-tool crashes on exceptions.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-devtools/cve-check-tool/cve-check-tool_5.6.4.bb
meta/recipes-devtools/cve-check-tool/files/0001-Fix-freeing-memory-allocated-by-sqlite.patch [new file with mode: 0644]

index 1f906ee0a49a27bf942419159066d56014930276..4829b118fef9fb8bb1ef4a5d4a27826df6e4b8bd 100644 (file)
@@ -11,6 +11,7 @@ SRC_URI = "https://github.com/ikeydoherty/${BPN}/releases/download/v${PV}/${BP}.
            file://0001-print-progress-in-percent-when-downloading-CVE-db.patch \
            file://0001-curl-allow-overriding-default-CA-certificate-file.patch \
            file://0001-update-Compare-computed-vs-expected-sha256-digit-str.patch \
+           file://0001-Fix-freeing-memory-allocated-by-sqlite.patch \
           "
 
 SRC_URI[md5sum] = "c5f4247140fc9be3bf41491d31a34155"
diff --git a/meta/recipes-devtools/cve-check-tool/files/0001-Fix-freeing-memory-allocated-by-sqlite.patch b/meta/recipes-devtools/cve-check-tool/files/0001-Fix-freeing-memory-allocated-by-sqlite.patch
new file mode 100644 (file)
index 0000000..4a82cf2
--- /dev/null
@@ -0,0 +1,50 @@
+From a3353429652f83bb8b0316500faa88fa2555542d Mon Sep 17 00:00:00 2001
+From: Peter Marko <peter.marko@siemens.com>
+Date: Thu, 13 Apr 2017 23:09:52 +0200
+Subject: [PATCH] Fix freeing memory allocated by sqlite
+
+Upstream-Status: Backport
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ src/core.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/core.c b/src/core.c
+index 6263031..6788f16 100644
+--- a/src/core.c
++++ b/src/core.c
+@@ -82,7 +82,7 @@ static bool ensure_table(CveDB *self)
+         rc = sqlite3_exec(self->db, query, NULL, NULL, &err);
+         if (rc != SQLITE_OK) {
+                 fprintf(stderr, "ensure_table(): %s\n", err);
+-                free(err);
++                sqlite3_free(err);
+                 return false;
+         }
+         
+@@ -91,7 +91,7 @@ static bool ensure_table(CveDB *self)
+         rc = sqlite3_exec(self->db, query, NULL, NULL, &err);
+         if (rc != SQLITE_OK) {
+                 fprintf(stderr, "ensure_table(): %s\n", err);
+-                free(err);
++                sqlite3_free(err);
+                 return false;
+         }
+@@ -99,11 +99,11 @@ static bool ensure_table(CveDB *self)
+         rc = sqlite3_exec(self->db, query, NULL, NULL, &err);
+         if (rc != SQLITE_OK) {
+                 fprintf(stderr, "ensure_table(): %s\n", err);
+-                free(err);
++                sqlite3_free(err);
+                 return false;
+         }
+         if (err) {
+-                free(err);
++                sqlite3_free(err);
+         }
+         return true;
+-- 
+2.1.4
+