X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fwifi-agent.c;h=fa5f49b337e566fbc121fa85b085e401bd15b75e;hb=3392542c9d9fa2818859f10849178b8e4b95565e;hp=b2dd9d714369efea3a47faaa1e0208ea6f1ca493;hpb=71eb84c94c7cf009686fb593b3921970e964879d;p=platform%2Fcore%2Fconnectivity%2Fnet-config.git diff --git a/src/wifi-agent.c b/src/wifi-agent.c index b2dd9d7..fa5f49b 100755 --- a/src/wifi-agent.c +++ b/src/wifi-agent.c @@ -56,7 +56,8 @@ static struct netconfig_wifi_agent agent; static void __netconfig_agent_clear_fields(void) { - g_byte_array_free(agent.ssid, TRUE); + if (agent.ssid) + g_byte_array_free(agent.ssid, TRUE); g_free(agent.name); g_free(agent.identity); g_free(agent.passphrase); @@ -235,15 +236,16 @@ gboolean handle_set_field(NetConnmanAgent *connman_agent, reply = netconfig_invoke_dbus_method_nonblock(CONNMAN_SERVICE, service, CONNMAN_SERVICE_INTERFACE, "Connect", NULL, __netconfig_wifi_connect_reply); - if (reply == TRUE) { - g_dbus_method_invocation_return_value(context, NULL); - } else { + if (reply != TRUE) { + ERR("Fail to connect Wi-Fi"); + __netconfig_agent_clear_fields(); error = g_error_new(G_DBUS_ERROR, G_DBUS_ERROR_AUTH_FAILED, CONNMAN_ERROR_INTERFACE ".InvalidArguments"); g_dbus_method_invocation_return_gerror(context, error); g_clear_error(&error); + return reply; } } else { error = g_error_new(G_DBUS_ERROR, @@ -252,13 +254,9 @@ gboolean handle_set_field(NetConnmanAgent *connman_agent, g_dbus_method_invocation_return_gerror(context, error); g_clear_error(&error); + return reply; } - if (reply != TRUE) { - ERR("Fail to connect Wi-Fi"); - - __netconfig_agent_clear_fields(); - } g_variant_iter_free(iter); net_connman_agent_complete_set_field(connman_agent, context); @@ -365,7 +363,6 @@ gboolean handle_request_input(NetConnmanAgent *connman_agent, } __netconfig_agent_clear_fields(); - g_variant_unref(out_table); return updated; }