From: Changgyu Choi Date: Wed, 11 Nov 2020 01:32:12 +0000 (+0900) Subject: Fix static analysis issues X-Git-Tag: submit/tizen/20201111.054119~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fd8914296f7fdfe1e2b7fe326c1fc2843f47d5a8;p=platform%2Fcore%2Fapi%2Fcapability-manager.git Fix static analysis issues Change-Id: I09b7d5e7cf3515923ce47585dd16c9747bf3302f Signed-off-by: Changgyu Choi --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 7aaee37..93d8779 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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") diff --git a/src/client.cc b/src/client.cc index 0ebe0dc..8cd933d 100644 --- a/src/client.cc +++ b/src/client.cc @@ -470,25 +470,23 @@ void capmgr_dbus_callback(GVariant* result, void* user_data) { } g_variant_iter_free(iter); - struct cbdata* cbdata = reinterpret_cast(user_data); - struct capmgr_app_control_s* reply = new struct capmgr_app_control_s(); + std::unique_ptr cb_data(reinterpret_cast(user_data)); + auto reply(std::make_unique()); 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, diff --git a/src/unit_tests/unit_test.cc b/src/unit_tests/unit_test.cc index 955c154..66157ad 100644 --- a/src/unit_tests/unit_test.cc +++ b/src/unit_tests/unit_test.cc @@ -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) {