net-confg: Fixed several GLIB Critical issues 50/158250/3 accepted/tizen/unified/20171106.073050 submit/tizen/20171103.014532
authorSaurav Babu <saurav.babu@samsung.com>
Mon, 30 Oct 2017 11:54:31 +0000 (17:24 +0530)
committerSaurav Babu <saurav.babu@samsung.com>
Tue, 31 Oct 2017 10:50:57 +0000 (16:20 +0530)
Change-Id: I1ec98374f438419998b9981a30ff6aaec4940ee9
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
src/wifi-agent.c
src/wifi-background-scan.c
src/wifi-power.c
src/wifi-state.c

index b2dd9d7..fa5f49b 100755 (executable)
@@ -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;
 }
index ab18e14..91301f2 100755 (executable)
@@ -106,9 +106,9 @@ static void __netconfig_wifi_scan_request_reply(GObject *source_object, GAsyncRe
                }
        } else {
                DBG("Successfully requested");
+               g_variant_unref(reply);
        }
 
-       g_variant_unref(reply);
        netconfig_gdbus_pending_call_unref();
 }
 
index 4dd968a..db8f9a4 100755 (executable)
@@ -114,9 +114,9 @@ static void __technology_reply(GObject *source_object, GAsyncResult *res, gpoint
                }
        } else {
                DBG("Successfully requested");
+               g_variant_unref(reply);
        }
 
-       g_variant_unref(reply);
        netconfig_gdbus_pending_call_unref();
 }
 
index 40d0a95..3e5448a 100755 (executable)
@@ -367,9 +367,9 @@ static void _set_power_save(gboolean power_save)
        }
 
        if (power_save)
-               input_args = g_variant_new_string(args_enable);
+               input_args = g_variant_new("(s)", args_enable);
        else
-               input_args = g_variant_new_string(args_disable);
+               input_args = g_variant_new("(s)", args_disable);
 
        result = netconfig_supplicant_invoke_dbus_method_nonblock(
                        SUPPLICANT_SERVICE,
@@ -383,7 +383,6 @@ static void _set_power_save(gboolean power_save)
        else
                old_state = power_save;
 
-       g_variant_unref(input_args);
        return;
 }
 
@@ -429,12 +428,14 @@ static void _set_power_lock(gboolean power_lock)
                return;
        }
 
-       ret = g_variant_get_int32(reply);
-       if (ret < 0)
-               ERR("Failed to set power lock %s with ret %d",
+       if (g_variant_is_of_type(reply, G_VARIANT_TYPE_INT32)) {
+               ret = g_variant_get_int32(reply);
+               if (ret < 0)
+                       ERR("Failed to set power lock %s with ret %d",
                                power_lock == TRUE ? "enable" : "disable", ret);
-       else
-               old_state = power_lock;
+               else
+                       old_state = power_lock;
+       }
 
        g_variant_unref(reply);
 
@@ -693,7 +694,6 @@ wifi_tech_state_e wifi_state_get_technology_state(void)
                                DBG("%s", sdata);
                        }
                }
-               g_variant_iter_free(next);
        }
 
        g_variant_unref(message);