Fix coverity defects 33/242233/1 accepted/tizen_6.0_unified accepted/tizen_6.0_unified_hotfix tizen_6.0 tizen_6.0_hotfix accepted/tizen/6.0/unified/20201030.115315 accepted/tizen/6.0/unified/hotfix/20201103.002829 accepted/tizen/unified/20200826.133016 submit/tizen/20200826.014808 submit/tizen_6.0/20201029.205104 submit/tizen_6.0_hotfix/20201102.192504 submit/tizen_6.0_hotfix/20201103.114804 tizen_6.0.m2_release
authorSangwan Kwon <sangwan.kwon@samsung.com>
Tue, 25 Aug 2020 05:59:45 +0000 (14:59 +0900)
committerSangwan Kwon <sangwan.kwon@samsung.com>
Tue, 25 Aug 2020 05:59:45 +0000 (14:59 +0900)
- Unchecked return value

Change-Id: I1a2e196e80174e12fa48020bdc583669e05460f6
Signed-off-by: Sangwan Kwon <sangwan.kwon@samsung.com>
src/osquery/sql/sqlite_util.cpp
src/osquery/sql/tests/sqlite_util_tests.cpp

index 38214383ed1837a439cdc04b8f158c369ca01a63..8fb779157dbab313d0fba403ed023d73a7ebaaac 100644 (file)
@@ -14,7 +14,6 @@
 #include <osquery/utils/conversions/castvariant.h>
 
 #include <osquery/core.h>
-#include <vist/logger.hpp>
 #include <osquery/registry_factory.h>
 #include <osquery/sql.h>
 
@@ -22,6 +21,8 @@
 
 #include <boost/lexical_cast.hpp>
 
+#include <vist/logger.hpp>
+
 namespace osquery {
 
 using OpReg = QueryPlanner::Opcode::Register;
@@ -273,13 +274,15 @@ SQLiteDBInstance::SQLiteDBInstance(sqlite3*& db, Mutex& mtx)
 
 static inline void openOptimized(sqlite3*& db)
 {
-       sqlite3_open(":memory:", &db);
+       if (sqlite3_open(":memory:", &db) != SQLITE_OK)
+               ERROR(VIST) << "[osquery] error: " << sqlite3_errmsg(db);
 
        std::string settings;
        for (const auto& setting : kMemoryDBSettings) {
                settings += "PRAGMA " + setting.first + "=" + setting.second + "; ";
        }
-       sqlite3_exec(db, settings.c_str(), nullptr, nullptr, nullptr);
+       if (sqlite3_exec(db, settings.c_str(), nullptr, nullptr, nullptr) != SQLITE_OK)
+               ERROR(VIST) << "[osquery] error: " << sqlite3_errmsg(db);
 }
 
 void SQLiteDBInstance::init()
index c577ae02f86d9bb3603a58aa1fabafd7658288cc..eea2d8c1fa8c7d41bc5b369ea05c3aca047876b1 100644 (file)
@@ -17,6 +17,8 @@
 #include <boost/lexical_cast.hpp>
 #include <boost/variant.hpp>
 
+#include <vist/logger.hpp>
+
 namespace osquery {
 class SQLiteUtilTests : public testing::Test {
 public:
@@ -37,7 +39,9 @@ std::shared_ptr<SQLiteDBInstance> getTestDBC()
        };
 
        for (auto q : queries) {
-               sqlite3_exec(dbc->db(), q.c_str(), nullptr, nullptr, &err);
+               if (sqlite3_exec(dbc->db(), q.c_str(), nullptr, nullptr, &err) != SQLITE_OK)
+                       ERROR(VIST) << "[osquery] error: " << sqlite3_errmsg(dbc->db());
+
                if (err != nullptr) {
                        throw std::domain_error(std::string("Cannot create testing DBC's db: ") +
                                                                        err);
@@ -91,11 +95,12 @@ TEST_F(SQLiteUtilTests, test_reset)
        auto internal_db = SQLiteDBManager::get()->db();
        ASSERT_NE(nullptr, internal_db);
 
-       sqlite3_exec(internal_db,
-                                "create view test_view as select 'test';",
-                                nullptr,
-                                nullptr,
-                                nullptr);
+       if (sqlite3_exec(internal_db,
+                                        "create view test_view as select 'test';",
+                                        nullptr,
+                                        nullptr,
+                                        nullptr) != SQLITE_OK)
+               ERROR(VIST) << "[osquery] error: " << sqlite3_errmsg(internal_db);
 
        SQLiteDBManager::resetPrimary();
        auto instance = SQLiteDBManager::get();
@@ -150,7 +155,9 @@ TEST_F(SQLiteUtilTests, test_get_test_db_result_stream)
        auto results = getTestDBResultStream();
        for (auto r : results) {
                char* err_char = nullptr;
-               sqlite3_exec(dbc->db(), (r.first).c_str(), nullptr, nullptr, &err_char);
+               if (sqlite3_exec(dbc->db(), (r.first).c_str(), nullptr, nullptr, &err_char) != SQLITE_OK)
+                       ERROR(VIST) << "[osquery] error: " << sqlite3_errmsg(dbc->db());
+
                EXPECT_TRUE(err_char == nullptr);
                if (err_char != nullptr) {
                        sqlite3_free(err_char);