Fix static analysis issues 96/290196/7
authorChanggyu Choi <changyu.choi@samsung.com>
Tue, 21 Mar 2023 09:11:42 +0000 (18:11 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Tue, 21 Mar 2023 10:19:46 +0000 (19:19 +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 33f92a3..9e9387d 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 8dbac48..70821d6 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 a8f7fd0..7e5b84b 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 8067f7a..3babdd3 100644 (file)
@@ -33,8 +33,7 @@ class Job {
 
   using JobHandlerCallback = std::function<Type(void)>;
 
-  explicit Job(JobHandlerCallback cb);
-  Job();
+  explicit Job(JobHandlerCallback cb = nullptr);
 
   ~Job() = default;
 
index 4a63e3a..67fd462 100644 (file)
@@ -275,7 +275,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;
 }