From da4928aea740636689d1c4145cc7d8896e54c7b2 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 15 Mar 2011 17:04:35 -0500 Subject: [PATCH] core: allow NULL device path in ActivateConnection --- src/nm-manager.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/nm-manager.c b/src/nm-manager.c index a39727caf9..aad6508818 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -346,6 +346,8 @@ nm_manager_get_device_by_udi (NMManager *manager, const char *udi) { GSList *iter; + g_return_val_if_fail (udi != NULL, NULL); + for (iter = NM_MANAGER_GET_PRIVATE (manager)->devices; iter; iter = iter->next) { if (!strcmp (nm_device_get_udi (NM_DEVICE (iter->data)), udi)) return NM_DEVICE (iter->data); @@ -358,6 +360,8 @@ nm_manager_get_device_by_path (NMManager *manager, const char *path) { GSList *iter; + g_return_val_if_fail (path != NULL, NULL); + for (iter = NM_MANAGER_GET_PRIVATE (manager)->devices; iter; iter = iter->next) { if (!strcmp (nm_device_get_path (NM_DEVICE (iter->data)), path)) return NM_DEVICE (iter->data); @@ -673,7 +677,7 @@ pending_activation_new (NMManager *manager, { NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (manager); PendingActivation *pending; - NMDevice *device; + NMDevice *device = NULL; NMConnection *connection = NULL; GSList *all_connections = NULL; gboolean success; @@ -683,13 +687,16 @@ pending_activation_new (NMManager *manager, g_return_val_if_fail (context != NULL, NULL); g_return_val_if_fail (device_path != NULL, NULL); - /* A specific object path of "/" means NULL */ + /* A object path of "/" means NULL */ if (g_strcmp0 (specific_object_path, "/") == 0) specific_object_path = NULL; + if (g_strcmp0 (device_path, "/") == 0) + device_path = NULL; /* Create the partial connection from the given settings */ if (settings) { - device = nm_manager_get_device_by_path (manager, device_path); + if (device_path) + device = nm_manager_get_device_by_path (manager, device_path); if (!device) { g_set_error_literal (error, NM_MANAGER_ERROR,