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");
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;
}
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;
}
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;
}
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;
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 {