diff options
Diffstat (limited to 'src/settings/nm-settings.c')
-rw-r--r-- | src/settings/nm-settings.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c index cbb2af0bf8..3d813430b6 100644 --- a/src/settings/nm-settings.c +++ b/src/settings/nm-settings.c @@ -1472,12 +1472,11 @@ have_connection_for_device (NMSettings *self, NMDevice *device) NMSettingConnection *s_con; NMSettingWired *s_wired; const GByteArray *setting_mac; - const guint8 *hwaddr; - guint hwaddr_len = 0; + const char *hwaddr; g_return_val_if_fail (NM_IS_SETTINGS (self), FALSE); - hwaddr = nm_device_get_hw_address (device, &hwaddr_len); + hwaddr = nm_device_get_hw_address (device); /* Find a wired connection locked to the given MAC address, if any */ g_hash_table_iter_init (&iter, priv->connections); @@ -1506,9 +1505,9 @@ have_connection_for_device (NMSettings *self, NMDevice *device) g_assert (s_wired != NULL); setting_mac = nm_setting_wired_get_mac_address (s_wired); - if (setting_mac) { + if (setting_mac && hwaddr) { /* A connection mac-locked to this device */ - if (nm_utils_hwaddr_equal (setting_mac->data, setting_mac->len, hwaddr, hwaddr_len)) + if (nm_utils_hwaddr_equal (setting_mac->data, setting_mac->len, hwaddr, -1)) return TRUE; } else { /* A connection that applies to any wired device */ @@ -1590,9 +1589,8 @@ nm_settings_device_added (NMSettings *self, NMDevice *device) NMSettingsConnection *added; NMSetting *setting; GError *error = NULL; - const guint8 *hw_address; + const char *hw_address; char *defname, *uuid; - guint len = 0; GByteArray *mac; if (!NM_IS_DEVICE_ETHERNET (device)) @@ -1607,7 +1605,7 @@ nm_settings_device_added (NMSettings *self, NMDevice *device) || !nm_config_get_ethernet_can_auto_default (priv->config, device)) return; - hw_address = nm_device_get_hw_address (device, &len); + hw_address = nm_device_get_hw_address (device); if (!hw_address) return; @@ -1633,8 +1631,7 @@ nm_settings_device_added (NMSettings *self, NMDevice *device) setting = nm_setting_wired_new (); nm_connection_add_setting (connection, setting); - mac = g_byte_array_sized_new (len); - g_byte_array_append (mac, hw_address, len); + mac = nm_utils_hwaddr_atoba (hw_address, ETH_ALEN); g_object_set (setting, NM_SETTING_WIRED_MAC_ADDRESS, mac, NULL); g_byte_array_unref (mac); |