From 33821cc25924b67fec971980be760d0c7edaa4e7 Mon Sep 17 00:00:00 2001 From: Jiung Date: Wed, 27 Sep 2017 19:33:05 +0900 Subject: [PATCH] Fix defects detected by static analyzer Change-Id: I172fb3703abacdc6ede6afe051c4343102812dcf Signed-off-by: Yu jiung --- packaging/asp-manager.spec | 2 +- src/asp-manager-gdbus.c | 5 +++++ src/session/asp-session-peer.c | 19 +++++++++++-------- src/tech/asp-tech-p2p.c | 7 ++++++- 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/packaging/asp-manager.spec b/packaging/asp-manager.spec index 3d7d91c..0b44c7c 100755 --- a/packaging/asp-manager.spec +++ b/packaging/asp-manager.spec @@ -1,6 +1,6 @@ Name: asp-manager Summary: ASP(application service platform) manager -Version: 0.0.22 +Version: 0.0.23 Release: 1 Group: Network & Connectivity/Other License: Apache-2.0 diff --git a/src/asp-manager-gdbus.c b/src/asp-manager-gdbus.c index e5de8f8..f93f040 100755 --- a/src/asp-manager-gdbus.c +++ b/src/asp-manager-gdbus.c @@ -524,8 +524,13 @@ static gboolean __asp_manager_gdbus_connect_session(AspSession *object, g_variant_get(var, "&s", &str); g_strlcpy(peer_ip_str, str, IPSTR_MAXLEN); } else if (!g_strcmp0(key, "session_info")) { + str = NULL; g_variant_get(var, "&s", &str); + if (!str) + continue; + info_length = strlen(str); + g_free(session_info); session_info = g_try_malloc0(info_length + 1); if (session_info == NULL) { ASP_LOGE("Memory Failure"); diff --git a/src/session/asp-session-peer.c b/src/session/asp-session-peer.c index d7ad90c..607dfbe 100644 --- a/src/session/asp-session-peer.c +++ b/src/session/asp-session-peer.c @@ -287,8 +287,9 @@ gboolean _asp_sess_peer_send_req(GSocketAddress *p_sock_addr, void *p_msg) NULL, NULL)); } - gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_SEND_REQ, - asp_sess_peer_dup_msg_data(p_msg), g_free)); + if (p_peer && p_peer->context) + gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_SEND_REQ, + asp_sess_peer_dup_msg_data(p_msg), g_free)); return TRUE; } @@ -349,9 +350,10 @@ gboolean _asp_sess_peer_recv_version(GSocketAddress *p_sock_addr, void *p_msg) asp_coordination_protocol_send_msg(p_sock_addr, &ack); } - gfsm_process_event(p_peer->context, - gfsm_create_event(ASP_S_PEER_EVENT_RECV_VERSION, - asp_sess_peer_dup_msg_data(p_msg), g_free)); + if (p_peer && p_peer->context) + gfsm_process_event(p_peer->context, + gfsm_create_event(ASP_S_PEER_EVENT_RECV_VERSION, + asp_sess_peer_dup_msg_data(p_msg), g_free)); return TRUE; } @@ -426,9 +428,10 @@ gboolean asp_sess_peer_add_session(GSocketAddress *p_sock_addr, gfsm_process_event(p_peer->context, gfsm_create_event(ASP_S_PEER_EVENT_START, NULL, NULL)); } - gfsm_process_event(p_peer->context, - gfsm_create_event(ASP_S_PEER_EVENT_ADD_SESSION, - _asp_sess_peer_sess_tree_create_key(session_mac, session_id), g_free)); + if (p_peer && p_peer->context) + gfsm_process_event(p_peer->context, + gfsm_create_event(ASP_S_PEER_EVENT_ADD_SESSION, + _asp_sess_peer_sess_tree_create_key(session_mac, session_id), g_free)); return TRUE; } diff --git a/src/tech/asp-tech-p2p.c b/src/tech/asp-tech-p2p.c index 8a930ec..6e0999c 100755 --- a/src/tech/asp-tech-p2p.c +++ b/src/tech/asp-tech-p2p.c @@ -400,7 +400,8 @@ void asp_tech_p2p_process_search_result(GDBusConnection *connection, event.search_result.search_id = search_id; event.search_result.advertisement_id = advertisement_id; event.search_result.service_status = status; - memcpy(event.search_result.service_mac, service_mac, MACSTR_LEN + 1); + if (service_mac) + memcpy(event.search_result.service_mac, service_mac, MACSTR_LEN + 1); event.search_result.device_name = device_name; event.search_result.instance_name = instance_name; event.search_result.service_info = service_info_map; @@ -462,8 +463,12 @@ void asp_tech_p2p_process_session_request(GDBusConnection *connection, g_variant_get(var, "&s", &str); pin = (guint32)atoi(str); } else if (!g_strcmp0(key, "session_info")) { + str = NULL; g_variant_get(var, "&s", &str); + if (!str) + continue; info_length = strlen(str); + g_free(session_info); session_info = g_try_malloc0(info_length + 1); memcpy(session_info, str, info_length); } else { -- 2.7.4