}
ret = _mh_core_create_ipv6_address(i, (const char *)bnep_hw_addr, &bnep_ipv6_address);
- if (bnep_ipv6_address) {
- ret = _mh_core_set_ipv6_address(interface_name, bnep_ipv6_address);
- if (ret != MOBILE_AP_ERROR_NONE) {
- ERR("Setting ip address error : %d\n", ret);
- g_free(bnep_hw_addr);
- g_free(remote_ipv6_address);
- return;
- }
+ if (ret != MOBILE_AP_ERROR_NONE || bnep_ipv6_address == NULL) {
+ ERR("Failed to create ipv6 address");
+ g_free(bnep_hw_addr);
+ g_free(remote_ipv6_address);
+ return;
+ }
+
+ ret = _mh_core_set_ipv6_address(interface_name, bnep_ipv6_address);
+ if (ret != MOBILE_AP_ERROR_NONE) {
+ ERR("Setting ip address error : %d\n", ret);
+ g_free(bnep_hw_addr);
+ g_free(bnep_ipv6_address);
+ g_free(remote_ipv6_address);
+ return;
}
DBG("bnep%d IPv6 address(%s)", i, bnep_ipv6_address);
if (network_interface == NULL || network_ipv6_address == NULL) {
ERR("Failed to get network information!!");
g_free(bnep_hw_addr);
+ g_free(bnep_ipv6_address);
g_free(remote_ipv6_address);
return;
}
_send_dbus_station_info("DhcpConnected", sta_info);
}
}
-
g_free(bnep_hw_addr);
g_free(bnep_ipv6_address);
g_free(remote_ipv6_address);