summary refs log tree commit diff
path: root/libnm/nm-device-vlan.c
diff options
context:
space:
mode:
authorAron Xu <aron@debian.org>2016-12-20 20:06:37 +0800
committerAron Xu <aron@debian.org>2016-12-20 20:06:37 +0800
commit45cb5bb3c0e6edb887cf69b417fcaf7053814a9b (patch)
tree795f8d6a3aa1145e4ba8fa1564f39425ea0c6ed9 /libnm/nm-device-vlan.c
parent270c4830551c9810ad4e83f9a1db2b1cb946208c (diff)
Imported Upstream version 1.4.4 upstream/1.4.4
Diffstat (limited to 'libnm/nm-device-vlan.c')
-rw-r--r--libnm/nm-device-vlan.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libnm/nm-device-vlan.c b/libnm/nm-device-vlan.c
index 843dda02..330d6f4a 100644
--- a/libnm/nm-device-vlan.c
+++ b/libnm/nm-device-vlan.c
@@ -116,6 +116,7 @@ nm_device_vlan_get_vlan_id (NMDeviceVlan *device)
 static gboolean
 connection_compatible (NMDevice *device, NMConnection *connection, GError **error)
 {
+	NMDeviceVlanPrivate *priv;
 	NMSettingVlan *s_vlan;
 	NMSettingWired *s_wired;
 	const char *setting_hwaddr;
@@ -142,8 +143,10 @@ connection_compatible (NMDevice *device, NMConnection *connection, GError **erro
 	else
 		setting_hwaddr = NULL;
 	if (setting_hwaddr) {
-		if (!nm_utils_hwaddr_matches (setting_hwaddr, -1,
-		                              NM_DEVICE_VLAN_GET_PRIVATE (device)->hw_address, -1)) {
+		priv = NM_DEVICE_VLAN_GET_PRIVATE (device);
+		if (   !priv->hw_address
+		    || !nm_utils_hwaddr_matches (setting_hwaddr, -1,
+		                                 priv->hw_address, -1)) {
 			g_set_error_literal (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INCOMPATIBLE_CONNECTION,
 			                     _("The hardware address of the device and the connection didn't match."));
 		}