summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--system-settings/plugins/ifcfg-fedora/plugin.c2
-rw-r--r--system-settings/plugins/ifcfg-fedora/reader.c14
3 files changed, 14 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 0ea936a0ab..0a7f6c65ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-11-17 Dan Williams <dcbw@redhat.com>
+
+ * system-settings/plugins/ifcfg-fedora/reader.c
+ - (read_mac_address): clean up
+ - (make_wireless_setting): pass NULL array to read_mac_address() like it
+ expects
+
+ * system-settings/plugins/ifcfg-fedora/plugin.c
+ - (read_one_connection): don't segfault on NULL errors
+
2008-11-14 Dan Williams <dcbw@redhat.com>
* Tag 0.7.0-rc2
diff --git a/system-settings/plugins/ifcfg-fedora/plugin.c b/system-settings/plugins/ifcfg-fedora/plugin.c
index a2c413a3bf..bd89590185 100644
--- a/system-settings/plugins/ifcfg-fedora/plugin.c
+++ b/system-settings/plugins/ifcfg-fedora/plugin.c
@@ -199,7 +199,7 @@ read_one_connection (SCPluginIfcfg *plugin, const char *filename)
G_CALLBACK (connection_ifcfg_changed), plugin);
} else {
PLUGIN_PRINT (IFCFG_PLUGIN_NAME, " error: %s",
- error->message ? error->message : "(unknown)");
+ (error && error->message) ? error->message : "(unknown)");
g_error_free (error);
}
diff --git a/system-settings/plugins/ifcfg-fedora/reader.c b/system-settings/plugins/ifcfg-fedora/reader.c
index 1cdf846080..9ef81b1ab2 100644
--- a/system-settings/plugins/ifcfg-fedora/reader.c
+++ b/system-settings/plugins/ifcfg-fedora/reader.c
@@ -386,24 +386,16 @@ read_mac_address (shvarFile *ifcfg, GByteArray **array, GError **error)
mac = ether_aton (value);
if (!mac) {
+ g_free (value);
g_set_error (error, ifcfg_plugin_error_quark (), 0,
"The MAC address '%s' was invalid.", value);
- goto error;
+ return FALSE;
}
g_free (value);
*array = g_byte_array_sized_new (ETH_ALEN);
g_byte_array_append (*array, (guint8 *) mac->ether_addr_octet, ETH_ALEN);
-
return TRUE;
-
-error:
- g_free (value);
- if (*array) {
- g_byte_array_free (*array, TRUE);
- *array = NULL;
- }
- return FALSE;
}
static gboolean
@@ -647,7 +639,7 @@ make_wireless_setting (shvarFile *ifcfg,
GError **error)
{
NMSettingWireless *s_wireless;
- GByteArray *array;
+ GByteArray *array = NULL;
char *value;
s_wireless = NM_SETTING_WIRELESS (nm_setting_wireless_new ());