Fix SVace issue WGID 140308 25/81925/1
authorYu Jiung <jiung.yu@samsung.com>
Fri, 29 Jul 2016 08:23:22 +0000 (17:23 +0900)
committerYu Jiung <jiung.yu@samsung.com>
Fri, 29 Jul 2016 08:24:01 +0000 (17:24 +0900)
Change-Id: I77ca420a6927312f205a08938c86208151f5fbe6
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
packaging/net-config.spec
src/network-state.c

index ec5f7a808160bf9681b8155aaa4dab1003906fd6..0bcaa231ab21e230efb14ca336d18c71bdc62667 100755 (executable)
@@ -1,6 +1,6 @@
 Name:          net-config
 Summary:       TIZEN Network Configuration service
-Version:       1.1.82
+Version:       1.1.83
 Release:       2
 Group:         System/Network
 License:       Apache-2.0
index 41d9811837df0d32a7c1130115e63d87e97356ea..3f083f6919547123da89f0a85ebb8cb924cb263e 100755 (executable)
@@ -182,6 +182,11 @@ static void __netconfig_get_default_connection_info(const char *profile)
        }
 
        g_variant_get(message, "(a(oa{sv}))", &service);
+       if (service == NULL) {
+               ERR("Failed to get services iter");
+               goto done;
+       }
+
        while (g_variant_iter_loop(service, "(oa{sv})", &obj_path, &iter)) {
                if (g_strcmp0(obj_path, profile) == 0) {
                        g_free(obj_path);
@@ -190,7 +195,7 @@ static void __netconfig_get_default_connection_info(const char *profile)
                }
        }
 
-       if (found_profile == 0) {
+       if (iter == NULL || found_profile == 0) {
                ERR("Profile %s doesn't exist", profile);
                goto done;
        }
@@ -207,36 +212,42 @@ static void __netconfig_get_default_connection_info(const char *profile)
                        }
                } else if (g_strcmp0(key, "Ethernet") == 0) {
                        g_variant_get(next, "a{sv}", &iter1);
+                       if (iter1 == NULL)
+                               continue;
                        while (g_variant_iter_loop(iter1, "{sv}", &key1, &variant)) {
                                if (g_strcmp0(key1, "Interface") == 0) {
                                        value = g_variant_get_string(variant, NULL);
                                        netconfig_default_connection_info.ifname = g_strdup(value);
                                }
                        }
-                       if (iter1)
-                               g_variant_iter_free(iter1);
+                       g_variant_iter_free(iter1);
                } else if (g_strcmp0(key, "IPv4") == 0) {
                        g_variant_get(next, "a{sv}", &iter1);
+                       if (iter1 == NULL)
+                               continue;
                        while (g_variant_iter_loop(iter1, "{sv}", &key1, &variant)) {
                                if (g_strcmp0(key1, "Address") == 0) {
                                        value = g_variant_get_string(variant, NULL);
                                        netconfig_default_connection_info.ipaddress = g_strdup(value);
                                }
                        }
-                       if (iter1)
-                               g_variant_iter_free(iter1);
+                       g_variant_iter_free(iter1);
                } else if (g_strcmp0(key, "IPv6") == 0) {
                        g_variant_get(next, "a{sv}", &iter1);
+                       if (iter1 == NULL)
+                               continue;
                        while (g_variant_iter_loop(iter1, "{sv}", &key1, &variant)) {
                                if (g_strcmp0(key1, "Address") == 0) {
                                        value = g_variant_get_string(variant, NULL);
                                        netconfig_default_connection_info.ipaddress6 = g_strdup(value);
                                }
                        }
-                       if (iter1)
-                               g_variant_iter_free(iter1);
+                       g_variant_iter_free(iter1);
+
                } else if (g_strcmp0(key, "Proxy") == 0) {
                        g_variant_get(next, "a{sv}", &iter1);
+                       if (iter1 == NULL)
+                               continue;
                        while (g_variant_iter_loop(iter1, "{sv}", &key2, &variant2)) {
                                GVariantIter *iter_sub = NULL;
 
@@ -270,8 +281,7 @@ static void __netconfig_get_default_connection_info(const char *profile)
                                        }
                                }
                        }
-                       if (iter1)
-                               g_variant_iter_free(iter1);
+                       g_variant_iter_free(iter1);
                } else if (g_strcmp0(key, "Frequency") == 0) {
                        if (g_variant_is_of_type(next, G_VARIANT_TYPE_UINT16)) {
                                freq = g_variant_get_uint16(next);
@@ -287,9 +297,6 @@ done:
        if (iter)
                g_variant_iter_free(iter);
 
-       if (iter1)
-               g_variant_iter_free(iter1);
-
        if (service)
                g_variant_iter_free(service);