Fix static analysis issues 33/280933/2
authorChanggyu Choi <changyu.choi@samsung.com>
Wed, 7 Sep 2022 02:17:50 +0000 (11:17 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Wed, 7 Sep 2022 02:53:08 +0000 (11:53 +0900)
Changes:
 - Adds exception handling logic.
 - Fix to using const_cast instead of strdup.

Change-Id: Ic6b54c8257f1099f37b1fea33ba5a6894dc751ad
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
benchmark/server/main.cc
benchmark/tool/main.cc

index b44fb96..c4466cf 100644 (file)
@@ -72,9 +72,12 @@ class MainLoop {
       return;
     }
 
-    stub_.Listen(std::shared_ptr<
-        bs::Benchmark::ServiceBase::Factory>(
-        new TestService::Factory()));
+    try {
+      stub_.Listen(std::shared_ptr<bs::Benchmark::ServiceBase::Factory>(
+          new TestService::Factory()));
+    } catch (const std::exception& e) {
+      _E("stub listen is failed(%s)", e.what());
+    }
     g_main_loop_run(loop_);
   }
 
index 7883b32..a8b5ce8 100644 (file)
@@ -29,8 +29,8 @@
 
 namespace {
 
-constexpr const char SERVER_PROC_NAME[] = "org.tizen.appfw.rpc_port.benchmark";
-constexpr const char SERVER_BIN[] = "/usr/bin/rpc-port-benchmark-server";
+#define SERVER_PROC_NAME "org.tizen.appfw.rpc_port.benchmark"
+#define SERVER_BIN "/usr/bin/rpc-port-benchmark-server"
 
 namespace bp = rpc_port::BenchmarkProxy::proxy;
 
@@ -147,7 +147,7 @@ class Tester {
     if (server_pid_ == 0) {
       setsid();
 
-      char* argv[] = { strdup(SERVER_BIN), nullptr, nullptr };
+      char* argv[] = { SERVER_BIN, nullptr, nullptr };
       int ret = execv(argv[0], argv);
       if (ret < 0) {
         std::cerr << "execv() is failed. errno: " << errno << std::endl;
@@ -174,6 +174,11 @@ class Tester {
 
 int main(int argc, char** argv) {
   Tester tester;
-  tester.Run(argc, argv);
+  try {
+    tester.Run(argc, argv);
+  } catch (const std::exception& e) {
+    std::cerr << "Exception occurred!!!" << e.what() << std::endl;
+  }
+
   return 0;
 }