diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | system-settings/plugins/ifcfg-fedora/plugin.c | 2 | ||||
-rw-r--r-- | system-settings/plugins/ifcfg-fedora/reader.c | 14 |
3 files changed, 14 insertions, 12 deletions
@@ -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 ()); |