plugins: Don't attempt to save strings with value NULL
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Wed, 16 Nov 2011 10:33:56 +0000 (12:33 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Fri, 18 Nov 2011 14:42:30 +0000 (15:42 +0100)
If a string with value NULL is set with g_key_file_set_string(),
a critical glib error will be printed.

plugins/l2tp.c
plugins/openconnect.c
plugins/openvpn.c
plugins/pptp.c
plugins/vpnc.c

index 2dd415a..efbcd3d 100644 (file)
@@ -249,6 +249,9 @@ static int l2tp_save(struct connman_provider *provider, GKeyFile *keyfile)
                if (strncmp(pppd_options[i].cm_opt, "L2TP.", 5) == 0) {
                        option = connman_provider_get_string(provider,
                                                        pppd_options[i].cm_opt);
+                       if (option == NULL)
+                               continue;
+
                        g_key_file_set_string(keyfile,
                                        connman_provider_get_save_group(provider),
                                        pppd_options[i].cm_opt, option);
index 25060d0..cf3bcd9 100644 (file)
@@ -225,21 +225,24 @@ static int oc_save (struct connman_provider *provider, GKeyFile *keyfile)
 
        setting = connman_provider_get_string(provider,
                                        "OpenConnect.ServerCert");
-       g_key_file_set_string(keyfile,
-                       connman_provider_get_save_group(provider),
-                       "OpenConnect.ServerCert", setting);
+       if (setting != NULL)
+               g_key_file_set_string(keyfile,
+                               connman_provider_get_save_group(provider),
+                               "OpenConnect.ServerCert", setting);
 
        setting = connman_provider_get_string(provider,
                                        "OpenConnect.CACert");
-       g_key_file_set_string(keyfile,
-                       connman_provider_get_save_group(provider),
-                       "OpenConnect.CACert", setting);
+       if (setting != NULL)
+               g_key_file_set_string(keyfile,
+                               connman_provider_get_save_group(provider),
+                               "OpenConnect.CACert", setting);
 
        setting = connman_provider_get_string(provider,
                                        "VPN.MTU");
-       g_key_file_set_string(keyfile,
-                       connman_provider_get_save_group(provider),
-                       "VPN.MTU", setting);
+       if (setting != NULL)
+               g_key_file_set_string(keyfile,
+                               connman_provider_get_save_group(provider),
+                               "VPN.MTU", setting);
 
        return 0;
 }
index 636864a..2f7decf 100644 (file)
@@ -184,6 +184,9 @@ static int ov_save(struct connman_provider *provider, GKeyFile *keyfile)
                if (strncmp(ov_options[i].cm_opt, "OpenVPN.", 8) == 0) {
                        option = connman_provider_get_string(provider,
                                                        ov_options[i].cm_opt);
+                       if (option == NULL)
+                               continue;
+
                        g_key_file_set_string(keyfile,
                                        connman_provider_get_save_group(provider),
                                        ov_options[i].cm_opt, option);
index 37e8459..40f95ed 100644 (file)
@@ -210,6 +210,9 @@ static int pptp_save(struct connman_provider *provider, GKeyFile *keyfile)
                if (strncmp(pptp_options[i].cm_opt, "PPTP.", 5) == 0) {
                        option = connman_provider_get_string(provider,
                                                        pptp_options[i].cm_opt);
+                       if (option == NULL)
+                               continue;
+
                        g_key_file_set_string(keyfile,
                                        connman_provider_get_save_group(provider),
                                        pptp_options[i].cm_opt, option);
index fceed6b..cd707dc 100644 (file)
@@ -238,6 +238,9 @@ static int vc_save(struct connman_provider *provider, GKeyFile *keyfile)
                if (strncmp(vpnc_options[i].cm_opt, "VPNC.", 5) == 0) {
                        option = connman_provider_get_string(provider,
                                                        vpnc_options[i].cm_opt);
+                       if (option == NULL)
+                               continue;
+
                        g_key_file_set_string(keyfile,
                                        connman_provider_get_save_group(provider),
                                        vpnc_options[i].cm_opt, option);