Fix static analysis issues
authorChanggyu Choi <changyu.choi@samsung.com>
Tue, 21 Mar 2023 09:11:42 +0000 (18:11 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Wed, 22 Mar 2023 00:16:50 +0000 (09:16 +0900)
Change-Id: I4e2de4075c4822edc168495db2cd4edadf9072a0
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
CMakeLists.txt
src/ac-internal.cc
src/cynara_thread.cc
src/cynara_thread.hh
src/proxy-internal.cc

index 4a5a157a4f8c21421f2c86f99826f1cba3a67a34..9875549c853ebe98602dfd29431344e90c7d79f5 100644 (file)
@@ -18,7 +18,7 @@ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
 SET(CMAKE_C_FLAGS_RELEASE "-O2")
 
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_C_FLAGS} -std=c++14")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_C_FLAGS} -std=c++17")
 SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
 SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
 
index 8dbac488ef2f4e464a3778e99d2e6683ba4c453b..70821d6576112ca060d05ed926e2c9876f8577c5 100644 (file)
@@ -99,15 +99,17 @@ void AccessController::CheckAsync(int fd, std::string sender_appid,
   Job job([=]() -> Job::Type {
     int res = Check(fd, sender_appid);
     auto* cbdata = new std::pair<CompleteCallback, int>(callback, res);
-    if (callback != nullptr) {
-      g_idle_add(
-          [](gpointer data) -> gboolean {
-            auto* cbdata = static_cast<std::pair<CompleteCallback, int>*>(data);
-            auto [callback, res] = *cbdata;
-            callback(res);
-            delete (cbdata);
-            return G_SOURCE_REMOVE;
-          }, cbdata);
+    guint sid = g_idle_add(
+        [](gpointer data) -> gboolean {
+          auto* cbdata = static_cast<std::pair<CompleteCallback, int>*>(data);
+          auto [callback, res] = *cbdata;
+          callback(res);
+          delete cbdata;
+          return G_SOURCE_REMOVE;
+        }, cbdata);
+    if (sid == 0) {
+      _E("Failed to call g_idle_add");
+      delete cbdata;
     }
 
     return Job::Type::Continue;
index 84554e89e2b59e4a02fe3462de625357383aaf8b..0a8efd2cc31915f773337032377d4b63d08da3ce 100644 (file)
@@ -23,9 +23,10 @@ namespace internal {
 
 Job::Job(Job::JobHandlerCallback cb) : cb_(std::move(cb)) {}
 
-Job::Job() : cb_([]() { return Job::Type::Finish; }) {}
-
 Job::Type Job::Do() {
+  if (cb_ == nullptr)
+    return Job::Type::Finish;
+
   return cb_();
 }
 
index 827fbc38920e69b8b93e1221c40629ea705f4601..412931a7256ebef4b7427d12deac0d99c051dcd5 100644 (file)
@@ -34,8 +34,7 @@ class Job {
 
   using JobHandlerCallback = std::function<Type(void)>;
 
-  explicit Job(JobHandlerCallback cb);
-  Job();
+  explicit Job(JobHandlerCallback cb = nullptr);
 
   ~Job() = default;
 
index 804f69011d3b4a044773711928b32955a10d9381..df003edd5e9afd974192037f78eb9722d54bbb00 100644 (file)
@@ -274,7 +274,7 @@ int Proxy::ConnectSync(std::string appid, std::string port_name,
 
   main_port_.reset(new ProxyPort(this, fds_[0], target_appid_, false));
   delegate_port_.reset(new ProxyPort(this, fds_[1], target_appid_));
-  DebugPort::AddSession(port_name, target_appid_, fds_[0], fds_[1]);
+  DebugPort::AddSession(port_name_, target_appid_, fds_[0], fds_[1]);
   listener_->OnConnected(target_appid_, main_port_.get());
   return RPC_PORT_ERROR_NONE;
 }