From fade08f0b4754e79366f00597c3ddb9f97c969e9 Mon Sep 17 00:00:00 2001 From: Sangwan Kwon Date: Wed, 27 May 2020 15:15:23 +0900 Subject: [PATCH] Fix svace defects - UNINIT.CTOR - DEREF_OF_NULL.EX - SIMILAR_BRANCHES Change-Id: I3389cfe7d5ac89ca0f7e215e2d938c930f7be241 Signed-off-by: Sangwan Kwon --- src/osquery/sql/sqlite_util.cpp | 3 +++ src/osquery/utils/conversions/to.h | 6 +++--- src/vist/result.hpp | 2 +- src/vist/rmi/impl/mainloop.cpp | 4 ++++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/osquery/sql/sqlite_util.cpp b/src/osquery/sql/sqlite_util.cpp index 9656324..3821438 100644 --- a/src/osquery/sql/sqlite_util.cpp +++ b/src/osquery/sql/sqlite_util.cpp @@ -587,6 +587,9 @@ Status queryInternal(const std::string& query, QueryDataTyped& results, const SQLiteDBInstanceRef& instance) { + if (query.empty()) + return Status::failure("Query cannot be empty."); + sqlite3_stmt* prepared_statement{nullptr}; /* Statement to execute. */ int rc = SQLITE_OK; /* Return Code */ diff --git a/src/osquery/utils/conversions/to.h b/src/osquery/utils/conversions/to.h index b12a443..7285a86 100644 --- a/src/osquery/utils/conversions/to.h +++ b/src/osquery/utils/conversions/to.h @@ -26,11 +26,11 @@ namespace osquery { * to(En::First) -> "En::First[1]" */ template -inline typename std::enable_if < std::is_enum::value&& -std::is_same::value, - ToType >::type +inline typename std::enable_if ::value, ToType >::type to(FromType from) noexcept { + static_assert(std::is_enum::value, "FromType must be enum type."); + auto str = ToType{boost::core::demangle(typeid(from).name())}; str.append("["); str.append(std::to_string( diff --git a/src/vist/result.hpp b/src/vist/result.hpp index ecfa73e..8e857bc 100644 --- a/src/vist/result.hpp +++ b/src/vist/result.hpp @@ -78,7 +78,7 @@ public: private: Value value; - ErrCode ec; + ErrCode ec = static_cast(0); bool isError = false; }; diff --git a/src/vist/rmi/impl/mainloop.cpp b/src/vist/rmi/impl/mainloop.cpp index 1b776ae..4baadbf 100644 --- a/src/vist/rmi/impl/mainloop.cpp +++ b/src/vist/rmi/impl/mainloop.cpp @@ -34,6 +34,10 @@ Mainloop::Mainloop() : { if (epollFd == -1) THROW(ErrCode::RuntimeError) << "Failed to create epoll instance."; + + ::epoll_event event; + std::memset(&event, 0, sizeof(epoll_event)); + events.fill(event); } Mainloop::~Mainloop() -- 2.34.1