From: Jiung Yu Date: Thu, 27 Apr 2017 05:43:18 +0000 (+0900) Subject: Fix issues reported by a static analyzer X-Git-Tag: submit/tizen/20170427.090631^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7c2a719bce791247ddc251e15b4f9007f9628aa6;p=platform%2Fcore%2Fapi%2Fasp.git Fix issues reported by a static analyzer Change-Id: If1a28a629953a8fbbc0b5e5f00f76d1a3f31e657 Signed-off-by: Yu jiung --- diff --git a/packaging/capi-network-asp.spec b/packaging/capi-network-asp.spec index f2aeec7..e74b52f 100755 --- a/packaging/capi-network-asp.spec +++ b/packaging/capi-network-asp.spec @@ -2,7 +2,7 @@ Name: capi-network-asp Summary: An Application Service Platform(ASP) libraries in Native API -Version: 0.0.9 +Version: 0.0.10 Release: 1 Group: Network & Connectivity/API License: Apache-2.0 diff --git a/src/asp-client.c b/src/asp-client.c index 135b5dd..d96852c 100644 --- a/src/asp-client.c +++ b/src/asp-client.c @@ -175,12 +175,11 @@ void asp_process_seek_search_result(GDBusConnection *connection, GVariantIter *iter = NULL; GVariant *var = NULL; const char *key = NULL; - const char *str = NULL; unsigned int search_id = 0; const char *service_mac = NULL; unsigned int advertisement_id = 0; unsigned int config_method = 0; - char *instance_name = NULL; + const char *instance_name = NULL; char *service_info = NULL; unsigned char status = 0; int error_code = ASP_ERROR_NONE; @@ -200,18 +199,17 @@ void asp_process_seek_search_result(GDBusConnection *connection, if (!g_strcmp0(key, "search_id")) { g_variant_get(var, "u", &search_id); } else if (!g_strcmp0(key, "service_mac")) { - g_variant_get(var, "&s", &str); - service_mac = g_strndup(str, MACSTR_LEN); + g_variant_get(var, "&s", &service_mac); } else if (!g_strcmp0(key, "adv_id")) { g_variant_get(var, "u", &advertisement_id); } else if (!g_strcmp0(key, "config_method")) { g_variant_get(var, "u", &config_method); } else if (!g_strcmp0(key, "instance_name")) { - g_variant_get(var, "&s", &str); - instance_name = g_strdup(str); + g_variant_get(var, "&s", &instance_name); } else if (!g_strcmp0(key, "service_info")) { service_info = __asp_create_service_info_from_g_variant(var); - ASP_LOGD("Service Info: %s", service_info); + if (service_info) + ASP_LOGD("Service Info: %s", service_info); } else if (!g_strcmp0(key, "service_status")) { g_variant_get(var, "y", &status); } else { @@ -221,7 +219,7 @@ void asp_process_seek_search_result(GDBusConnection *connection, //TODO :client->search_result_cb g_variant_iter_free(iter); - + g_free(service_info); __ASP_LOG_FUNC_END__; return; } @@ -254,8 +252,8 @@ void asp_process_advert_status_changed(GDBusConnection *connection, return; } -int __handle_session_request(unsigned int adv_id, char *session_mac, - unsigned int session_id, char *session_info) +int __handle_session_request(unsigned int adv_id, const char *session_mac, + unsigned int session_id, const char *session_info) { __ASP_LOG_FUNC_START__; asp_client_advert_s *service = NULL; @@ -297,8 +295,7 @@ int __handle_session_request(unsigned int adv_id, char *session_mac, } if (session == NULL) { - //TODO :asp_get_session - //res = asp_get_session(session_mac, session_id, (void **)&session); + res = asp_session_get_handle((char *)session_mac, session_id, (void **)&session); if (res < 0) { ASP_LOGE("asp_get_session failed"); __ASP_LOG_FUNC_END__; @@ -310,8 +307,7 @@ int __handle_session_request(unsigned int adv_id, char *session_mac, asp_sessions = g_list_prepend(asp_sessions, session); } - //TODO :asp_confirm_session - //asp_confirm_session(session, TRUE, NULL); + asp_session_confirm(session, TRUE, NULL); ASP_LOGD("asp_confirm_session"); __ASP_LOG_FUNC_END__; return -1; @@ -327,14 +323,13 @@ void asp_process_session_request(GDBusConnection *connection, GVariantIter *iter = NULL; GVariant *var = NULL; const char *key = NULL; - const char *str = NULL; unsigned int adv_id = 0; - char *session_mac = NULL; - char * device_name = NULL; + const char *session_mac = NULL; + const char * device_name = NULL; unsigned int session_id = 0; - char *session_info = NULL; + const char *session_info = NULL; gboolean get_network_config_pin = FALSE; - char *network_config_pin = NULL; + const char *network_config_pin = NULL; int error_code = ASP_ERROR_NONE; if (!client->session_request_cb) { @@ -355,19 +350,15 @@ void asp_process_session_request(GDBusConnection *connection, } else if (!g_strcmp0(key, "session_id")) { g_variant_get(var, "u", &session_id); } else if (!g_strcmp0(key, "session_mac")) { - g_variant_get(var, "&s", &str); - session_mac = g_strndup(str, MACSTR_LEN); + g_variant_get(var, "&s", &session_mac); } else if (!g_strcmp0(key, "device_name")) { - g_variant_get(var, "&s", &str); - device_name = g_strdup(str); + g_variant_get(var, "&s", &device_name); } else if (!g_strcmp0(key, "session_info")) { - g_variant_get(var, "&s", &str); - session_info = g_strdup(str); + g_variant_get(var, "&s", &session_info); } else if (!g_strcmp0(key, "get_pin")) { g_variant_get(var, "b", &get_network_config_pin); } else if (!g_strcmp0(key, "pin")) { - g_variant_get(var, "&s", &str); - network_config_pin = g_strdup(str); + g_variant_get(var, "&s", &network_config_pin); } else { ;/* Do Nothing */ } @@ -376,12 +367,8 @@ void asp_process_session_request(GDBusConnection *connection, if (__handle_session_request(adv_id, session_mac, session_id, session_info) == 0) { //TODO :client->session_request_cb - } else { - g_free(session_mac); - g_free(session_info); - g_free(device_name); - g_free(network_config_pin); } + g_variant_iter_free(iter); __ASP_LOG_FUNC_END__; @@ -398,7 +385,6 @@ void asp_process_session_config_request(GDBusConnection *connection, GVariantIter *iter = NULL; GVariant *var = NULL; const char *key = NULL; - const char *str = NULL; unsigned int session_id = 0; gboolean get_pin = false; const char *config_pin = NULL; @@ -421,8 +407,7 @@ void asp_process_session_config_request(GDBusConnection *connection, } else if (!g_strcmp0(key, "get_pin")) { g_variant_get(var, "b", &get_pin); } else if (!g_strcmp0(key, "pin")) { - g_variant_get(var, "&s", &str); - config_pin = g_strdup(str); + g_variant_get(var, "&s", &config_pin); } else { ;/* Do Nothing */ } @@ -445,11 +430,10 @@ void asp_process_session_connect_status(GDBusConnection *connection, GVariantIter *iter = NULL; GVariant *var = NULL; const char *key = NULL; - const char *str = NULL; const char *session_mac = NULL; unsigned int session_id = 0; int status = 0; - char *deferred_resp = NULL; + const char *deferred_resp = NULL; int error_code = ASP_ERROR_NONE; if (!client->session_connect_status_cb) { @@ -467,13 +451,11 @@ void asp_process_session_connect_status(GDBusConnection *connection, if (!g_strcmp0(key, "session_id")) { g_variant_get(var, "u", &session_id); } else if (!g_strcmp0(key, "session_mac")) { - g_variant_get(var, "&s", &str); - session_mac = g_strndup(str, MACSTR_LEN); + g_variant_get(var, "&s", &session_mac); } else if (!g_strcmp0(key, "status")) { g_variant_get(var, "i", &status); } else if (!g_strcmp0(key, "deferred_resp")) { - g_variant_get(var, "&s", &str); - deferred_resp = g_strdup(str); + g_variant_get(var, "&s", &deferred_resp); } else { ;/* Do Nothing */ } @@ -496,12 +478,11 @@ void asp_process_session_status(GDBusConnection *connection, GVariantIter *iter = NULL; GVariant *var = NULL; const char *key = NULL; - const char *str = NULL; const char *session_mac = NULL; unsigned int session_id = 0; int state = 0; int status = 0; - char *requested_info = NULL; + const char *requested_info = NULL; int error_code = ASP_ERROR_NONE; if (!client->session_status_cb) { @@ -519,15 +500,13 @@ void asp_process_session_status(GDBusConnection *connection, if (!g_strcmp0(key, "session_id")) { g_variant_get(var, "u", &session_id); } else if (!g_strcmp0(key, "session_mac")) { - g_variant_get(var, "&s", &str); - session_mac = g_strndup(str, MACSTR_LEN); + g_variant_get(var, "&s", &session_mac); } else if (!g_strcmp0(key, "state")) { g_variant_get(var, "i", &state); } else if (!g_strcmp0(key, "status")) { g_variant_get(var, "i", &status); } else if (!g_strcmp0(key, "requested_info")) { - g_variant_get(var, "&s", &str); - requested_info = g_strdup(str); + g_variant_get(var, "&s", &requested_info); } else { ;/* Do Nothing */ } @@ -549,7 +528,6 @@ void asp_process_session_port_status(GDBusConnection *connection, GVariantIter *iter = NULL; GVariant *var = NULL; const char *key = NULL; - const char *str = NULL; const char *session_mac = NULL; const char *ip_address = NULL; unsigned int session_id = 0; @@ -573,8 +551,7 @@ void asp_process_session_port_status(GDBusConnection *connection, if (!g_strcmp0(key, "session_id")) { g_variant_get(var, "u", &session_id); } else if (!g_strcmp0(key, "session_mac")) { - g_variant_get(var, "&s", &str); - session_mac = g_strndup(str, MACSTR_LEN); + g_variant_get(var, "&s", &session_mac); } else if (!g_strcmp0(key, "ip_address")) { g_variant_get(var, "&s", &ip_address); } else if (!g_strcmp0(key, "port")) { @@ -1434,7 +1411,7 @@ int asp_advert_get_info(asp_advert_service_h adv_service, const char *key, return ASP_ERROR_NONE; } - *value = g_strdup(ret_val); + *value = ret_val; *length = strlen(ret_val); ASP_LOGD("asp_advert_get_info() SUCCESS"); @@ -2516,12 +2493,7 @@ int asp_session_get_mac(asp_session_h session, char **session_mac) return ASP_ERROR_SESSION_NOT_FOUND; } - *session_mac = g_strndup(service->session_mac, MACSTR_LEN - 1); - if (*session_mac == NULL) { - ASP_LOGE("g_strndup failed"); - __ASP_LOG_FUNC_END__; - return ASP_ERROR_OPERATION_FAILED; - } + *session_mac = service->session_mac; ASP_LOGD("asp_session_get_mac() SUCCESS"); @@ -2637,7 +2609,7 @@ int asp_session_get_info(asp_session_h session, char **service_info) } if (service->session_information) - *service_info = g_strdup(service->session_information); + *service_info = service->session_information; ASP_LOGD("asp_session_get_info() SUCCESS"); @@ -2886,7 +2858,7 @@ int asp_session_connect(asp_session_h session) g_variant_get(reply, "(iu&s)", &ret, &(service->session_id), &str); if (str != NULL) - memcpy(service->session_mac, str, strlen(str)); + g_strlcpy(service->session_mac, str, MACSTR_LEN); g_variant_unref(reply); ASP_LOGD("%s() return : [%d]", __func__, ret); diff --git a/test/asp-test.c b/test/asp-test.c index 79dcde9..e0f5cfb 100644 --- a/test/asp-test.c +++ b/test/asp-test.c @@ -598,7 +598,12 @@ void test_full_menu() void test_quit() { - struct appdata *ad = get_appdata(ad); + struct appdata *ad = get_appdata(); + + if (!ad) { + printf("appdata was not initialized\n"); + return; + } printf("Bye\n"); g_main_loop_quit(ad->main_loop); @@ -608,9 +613,14 @@ void test_quit() void test_init() { - struct appdata *ad = get_appdata(ad); + struct appdata *ad = get_appdata(); int ret = 0; + if (!ad) { + printf("appdata was not initialized\n"); + return; + } + ret = init_asp_client(ad); printf("init_asp_client() result=[%d]\n", ret); @@ -627,9 +637,14 @@ void test_deinit() void test_asp_seek_set_search_result_cb() { - struct appdata *ad = get_appdata(ad); + struct appdata *ad = get_appdata(); int ret = 0; + if (!ad) { + printf("appdata was not initialized\n"); + return; + } + ret = asp_seek_set_search_result_cb(seek_search_result_cb, ad); printf("asp_seek_set_search_result_cb() result=[%d]\n", ret); @@ -648,9 +663,14 @@ void test_asp_seek_unset_search_result_cb() void test_asp_advert_set_status_changed_cb() { - struct appdata *ad = get_appdata(ad); + struct appdata *ad = get_appdata(); int ret = 0; + if (!ad) { + printf("appdata was not initialized\n"); + return; + } + ret = asp_advert_set_status_changed_cb(advert_status_changed_cb, ad); printf("asp_advert_unset_status_changed_cb() result=[%d]\n", ret); @@ -669,9 +689,14 @@ void test_asp_advert_unset_status_changed_cb() void test_asp_session_set_request_cb() { - struct appdata *ad = get_appdata(ad); + struct appdata *ad = get_appdata(); int ret = 0; + if (!ad) { + printf("appdata was not initialized\n"); + return; + } + ret = asp_session_set_request_cb(session_request_cb, ad); printf("asp_session_set_request_cb() result=[%d]\n", ret); @@ -690,9 +715,14 @@ void test_asp_session_unset_request_cb() void test_asp_session_set_config_request_cb() { - struct appdata *ad = get_appdata(ad); + struct appdata *ad = get_appdata(); int ret = 0; + if (!ad) { + printf("appdata was not initialized\n"); + return; + } + ret = asp_session_set_config_request_cb(session_config_request_cb, ad); printf("asp_session_set_config_request_cb() result=[%d]\n", ret); @@ -711,9 +741,14 @@ void test_asp_session_unset_config_request_cb() void test_asp_session_set_connect_status_cb() { - struct appdata *ad = get_appdata(ad); + struct appdata *ad = get_appdata(); int ret = 0; + if (!ad) { + printf("appdata was not initialized\n"); + return; + } + ret = asp_session_set_connect_status_cb(session_connect_status_cb, ad); printf("asp_session_set_connect_status_cb() result=[%d]\n", ret); @@ -732,9 +767,14 @@ void test_asp_session_unset_connect_status_cb() void test_asp_session_set_status_cb() { - struct appdata *ad = get_appdata(ad); + struct appdata *ad = get_appdata(); int ret = 0; + if (!ad) { + printf("appdata was not initialized\n"); + return; + } + ret = asp_session_set_status_cb(session_status_cb, ad); printf("asp_session_set_status_cb() result=[%d]\n", ret); @@ -753,9 +793,14 @@ void test_asp_session_unset_status_cb() void test_asp_session_set_port_status_cb() { - struct appdata *ad = get_appdata(ad); + struct appdata *ad = get_appdata(); int ret = 0; + if (!ad) { + printf("appdata was not initialized\n"); + return; + } + ret = asp_session_set_port_status_cb(session_port_status_cb, ad); printf("asp_session_set_port_status_cb() result=[%d]\n", ret); @@ -1766,6 +1811,10 @@ void process_input(const char *input, gpointer user_data) cmd = CMD_INVALID; printf("cmd=[%d]\n", cmd); + if (cmd > CMD_SESSION_RELEASE_PORT || cmd < CMD_QUIT) { + printf("Invalid CMD\n"); + return; + } g_menu_func[cmd].func(); } @@ -1807,6 +1856,7 @@ int main(int argc, char **argv) ad = (struct appdata*)malloc(sizeof(struct appdata)); + set_appdata(ad); ad->main_loop = main_loop;