Fix static analysis issues 31/247431/6
authorChanggyu Choi <changyu.choi@samsung.com>
Wed, 11 Nov 2020 01:32:12 +0000 (10:32 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Wed, 11 Nov 2020 03:28:00 +0000 (12:28 +0900)
Change-Id: I09b7d5e7cf3515923ce47585dd16c9747bf3302f
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
CMakeLists.txt
src/client.cc
src/unit_tests/unit_test.cc

index 7aaee37ae602e02de133e6519cdf269b24b2489b..93d877916cfca2a387f3510b1d41c2016428aac4 100644 (file)
@@ -8,7 +8,7 @@ SET(LIBDIR ${LIB_INSTALL_DIR})
 SET(INCLUDEDIR "\${prefix}/include/appfw")
 
 ## Compiler flags
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Werror -ffunction-sections -fdata-sections -fmerge-all-constants")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Werror -ffunction-sections -fdata-sections -fmerge-all-constants")
 
 ## Linker flags
 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed,--gc-sections")
index 0ebe0dc9804f525c6040adfe868f333dc471b9d6..8cd933dce935b854ea401f42931f1d9399020a75 100644 (file)
@@ -470,25 +470,23 @@ void capmgr_dbus_callback(GVariant* result, void* user_data) {
   }
   g_variant_iter_free(iter);
 
-  struct cbdata* cbdata = reinterpret_cast<struct cbdata*>(user_data);
-  struct capmgr_app_control_s* reply = new struct capmgr_app_control_s();
+  std::unique_ptr<cbdata> cb_data(reinterpret_cast<cbdata*>(user_data));
+  auto reply(std::make_unique<capmgr_app_control_s>());
   reply->b = bundle_decode(data, len);
   if (!reply->b) {
     LOG(ERROR) << "Invalid bundle data!";
-    capmgr_app_control_destroy(cbdata->request);
+    capmgr_app_control_destroy(cb_data->request);
     g_free(data);
-    delete cbdata;
     return;
   }
-  reply->device = cbdata->request->device;
+  reply->device = cb_data->request->device;
 
   // TODO(jeremy.jang): need to receive aul_svc result code
-  cbdata->cb(cbdata->request, reply, CAPMGR_APP_CONTROL_RESULT_OK,
-      cbdata->user_data);
+  cb_data->cb(cb_data->request, reply.get(), CAPMGR_APP_CONTROL_RESULT_OK,
+      cb_data->user_data);
 
-  capmgr_app_control_destroy(cbdata->request);
+  capmgr_app_control_destroy(cb_data->request);
   g_free(data);
-  delete cbdata;
 }
 
 API int capmgr_app_control_send(capmgr_app_control_h app_control,
index 955c1542403f5589a0bbcb6122c26c58beec1030..66157adc10e3f9f1bb5894a021b4495f3c5077cf 100644 (file)
@@ -213,10 +213,11 @@ TEST_F(UnitTest, AppControlDestroyNegativeTest) {
 }
 
 TEST_F(UnitTest, AppControlGetDevicePositiveTest) {
-  capmgr_device_h device;
-  ASSERT_EQ(capmgr_app_control_get_device(env->app_control_, &device),
-      CAPMGR_ERROR_NONE);
-  capmgr_device_destroy(device);
+  capmgr_device_h device = nullptr;
+  auto ret = capmgr_app_control_get_device(env->app_control_, &device);
+  if (device != nullptr)
+    capmgr_device_destroy(device);
+  ASSERT_EQ(ret, CAPMGR_ERROR_NONE);
 }
 
 TEST_F(UnitTest, AppControlGetDeviceNegativeTest) {