Fix static analysis issues 79/268879/1
authorJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 4 Jan 2022 06:14:01 +0000 (15:14 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 4 Jan 2022 06:14:01 +0000 (15:14 +0900)
Change-Id: I8d998de92fe576b64e87aef6dd7d3dbe132f8e84
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/server/pkginfo_internal.c
test/unit_tests/test_cert_db_handlers.cc
test/unit_tests/test_parser_db_handlers.cc
test/unit_tests/test_query_db_handlers.cc

index f3d50787cd9c4d8ef29cbad7146742c51a0d4289..8431e98a7ee541e7c931762fbbc7f2bdf5f09b18 100644 (file)
@@ -768,6 +768,7 @@ API int get_query_result(sqlite3 *db, const char *query, GList *param,
                ret = __bind_params(stmt, param);
                if (ret != PMINFO_R_OK) {
                        LOGE("failed to bind parameters: %s", sqlite3_errmsg(db));
+                       sqlite3_finalize(stmt);
                        return ret;
                }
        }
@@ -904,6 +905,7 @@ static int __execute_query(sqlite3 *db, const char *query, GList *param)
                ret = __bind_params(stmt, param);
                if (ret != PMINFO_R_OK) {
                        LOGE("failed to bind parameters: %s", sqlite3_errmsg(db));
+                       sqlite3_finalize(stmt);
                        return ret;
                }
        }
index 13748cd1b58d04e5068b020ace27ee1deb5ba810..aa6da5902c2465e52a0ff7e2ba4ce2645e546608 100644 (file)
@@ -63,8 +63,13 @@ class CertDBHandlerTest : public ::testing::Test {
  public:
   virtual void SetUp() {
     sqlite3 *db;
-    ASSERT_EQ(sqlite3_open_v2(TEST_CERT_DB, &db,
-        SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL), SQLITE_OK);
+
+    int ret = sqlite3_open_v2(TEST_CERT_DB, &db,
+        SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
+    if (ret != SQLITE_OK)
+      sqlite3_close_v2(db);
+
+    ASSERT_EQ(ret, SQLITE_OK);
 
     SetDBHandles(
         std::vector<std::pair<sqlite3*, uid_t>> { std::make_pair(db, 0) });
index 1a56b1f5fc8e561860128a636021adccb8807e0c..ce68b2e7c1a9e524d506612f08e9d85312e46674 100644 (file)
@@ -92,8 +92,13 @@ class ParserDBHandlerTest : public TestFixture {
 
   virtual void SetUp() {
     sqlite3* db;
-    ASSERT_EQ(sqlite3_open_v2(TEST_PARSER_DB, &db,
-        SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL), SQLITE_OK);
+
+    int ret = sqlite3_open_v2(TEST_PARSER_DB, &db,
+        SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
+    if (ret != SQLITE_OK)
+      sqlite3_close_v2(db);
+
+    ASSERT_EQ(ret, SQLITE_OK);
 
     SetDBHandles(
         std::vector<std::pair<sqlite3*, uid_t>> { std::make_pair(db, 0) });
index 8fdc19e6506779391d93ff395a7983c873da8593..4c294b13471cd74819e8574b46db7a2155de6a8e 100644 (file)
@@ -74,8 +74,13 @@ class ParserDBHandlerTest : public TestFixture {
 
   virtual void SetUp() {
     sqlite3* db;
-    ASSERT_EQ(sqlite3_open_v2(TEST_PARSER_DB, &db,
-        SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL), SQLITE_OK);
+
+    int ret = sqlite3_open_v2(TEST_PARSER_DB, &db,
+        SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
+    if (ret != SQLITE_OK)
+      sqlite3_close_v2(db);
+
+    ASSERT_EQ(ret, SQLITE_OK);
 
     SetDBHandles(
         std::vector<std::pair<sqlite3*, uid_t>> { std::make_pair(db, 0) });