Fixed incorrect comparision and memory leaks 15/189715/1
authorSaurav Babu <saurav.babu@samsung.com>
Tue, 18 Sep 2018 11:14:04 +0000 (16:44 +0530)
committerSaurav Babu <saurav.babu@samsung.com>
Thu, 20 Sep 2018 04:35:09 +0000 (10:05 +0530)
This patch fixes incorrect comparion for GVariantType and also fixes
memory leak reported by valgrind
==9934== 20 bytes in 2 blocks are definitely lost in loss record 1,388 of 2,620
==9934==    at 0x48458A4: malloc (vg_replace_malloc.c:299)
==9934==    by 0x4AB21B3: g_malloc (in /usr/lib/libglib-2.0.so.0.5200.2)
==9934==    by 0x4ACCF03: g_strdup (in /usr/lib/libglib-2.0.so.0.5200.2)
==9934==    by 0x123CEB: __netconfig_get_default_connection_info (network-state.c:409)
==9934==    by 0x124933: netconfig_update_default_profile (network-state.c:1210)
==9934==    by 0x1290AD: _service_signal_cb (signal-handler.c:358)
==9934==    by 0x4957997: ??? (in /usr/lib/libgio-2.0.so.0.5200.2)
==9934==    by 0x4AAC8E7: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5200.2)
==9934==    by 0x4AACC77: ??? (in /usr/lib/libglib-2.0.so.0.5200.2)
==9934==    by 0x4AACFD7: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.5200.2)
==9934==    by 0x10F649: main (main.c:152)

Change-Id: I4e9791440ce4bc28968add19816d9e664cea9e62
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
src/network-state.c
src/signal-handler.c

index 3e616c4..33bc1c7 100755 (executable)
@@ -1078,10 +1078,8 @@ void netconfig_update_default_profile(const char *profile)
                netconfig_default_connection_info.freq = 0;
                netconfig_default_connection_info.is_metered = FALSE;
 
-               if (wifi_state_get_service_state() != NETCONFIG_WIFI_CONNECTED) {
-                       g_free(netconfig_default_connection_info.essid);
-                       netconfig_default_connection_info.essid = NULL;
-               }
+               g_free(netconfig_default_connection_info.essid);
+               netconfig_default_connection_info.essid = NULL;
        }
 
        /* default profile is NULL and new connected profile is NULL */
index bc6d658..ca53b28 100755 (executable)
@@ -328,7 +328,7 @@ static void _service_signal_cb(GDBusConnection *conn,
                if (netconfig_is_wifi_profile(path) != TRUE || g_strcmp0(path, netconfig_get_default_profile()) != 0)
                        goto done;
 
-               if (!g_variant_type_equal(variant, G_VARIANT_TYPE_ARRAY))
+               if (!g_variant_is_of_type(variant, G_VARIANT_TYPE_ARRAY))
                        goto done;
 
                g_variant_get(variant, "a{sv}", &iter);