From c22672b3834a92f16edb13aa3106873ed3aee91d Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Wed, 31 May 2017 19:08:12 +0200 Subject: [PATCH] libnm-core: fix verify() implementations to allow connection=NULL --- libnm-core/nm-connection.c | 3 +++ libnm-core/nm-setting-bond.c | 2 +- libnm-core/nm-setting-infiniband.c | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) 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;