diff --git a/libnm-core/nm-connection.c b/libnm-core/nm-connection.c index ecfb9780be..ce0200ba54 100644 --- a/libnm-core/nm-connection.c +++ b/libnm-core/nm-connection.c @@ -1787,6 +1787,9 @@ _nm_connection_verify_required_interface_name (NMConnection *connection, { const char *interface_name; + if (!connection) + return TRUE; + interface_name = nm_connection_get_interface_name (connection); if (interface_name) return TRUE; diff --git a/libnm-core/nm-setting-bond.c b/libnm-core/nm-setting-bond.c index 9a8bdc3702..18b274ac19 100644 --- a/libnm-core/nm-setting-bond.c +++ b/libnm-core/nm-setting-bond.c @@ -645,7 +645,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) } } - if (nm_connection_get_setting_infiniband (connection)) { + if (connection && nm_connection_get_setting_infiniband (connection)) { if (strcmp (mode_new, "active-backup") != 0) { g_set_error (error, NM_CONNECTION_ERROR, diff --git a/libnm-core/nm-setting-infiniband.c b/libnm-core/nm-setting-infiniband.c index 1bbe2b3fb5..6ab6ac11b5 100644 --- a/libnm-core/nm-setting-infiniband.c +++ b/libnm-core/nm-setting-infiniband.c @@ -181,7 +181,7 @@ nm_setting_infiniband_get_virtual_interface_name (NMSettingInfiniband *setting) static gboolean verify (NMSetting *setting, NMConnection *connection, GError **error) { - NMSettingConnection *s_con; + NMSettingConnection *s_con = NULL; NMSettingInfinibandPrivate *priv = NM_SETTING_INFINIBAND_GET_PRIVATE (setting); guint32 normerr_max_mtu = 0; @@ -241,7 +241,8 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) } } - s_con = nm_connection_get_setting_connection (connection); + if (connection) + s_con = nm_connection_get_setting_connection (connection); if (s_con) { const char *interface_name = nm_setting_connection_get_interface_name (s_con); GError *tmp_error = NULL;