From 46898b0f62c39b505a9066b6944afa407b6cd397 Mon Sep 17 00:00:00 2001 From: Robert Love Date: Thu, 1 Dec 2005 21:42:41 +0000 Subject: [PATCH] 2005-12-01 Robert Love * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the interface is already gone, so don't call rtnl_link_change() to down it (which will segfault, anyhow). git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1114 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 6 ++++++ src/NetworkManagerSystem.c | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ba7fef6ba9..184805f80b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-12-01 Robert Love + + * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the + interface is already gone, so don't call rtnl_link_change() to down + it (which will segfault, anyhow). + 2005-11-22 Robert Love * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the diff --git a/src/NetworkManagerSystem.c b/src/NetworkManagerSystem.c index 678be20e82..c26cf51fcd 100644 --- a/src/NetworkManagerSystem.c +++ b/src/NetworkManagerSystem.c @@ -391,9 +391,14 @@ gboolean nm_system_device_set_up_down_with_iface (NMDevice *dev, const char *ifa if (!(request = rtnl_link_alloc ())) goto out; - up ? rtnl_link_set_flags (request, IFF_UP) : rtnl_link_unset_flags (request, IFF_UP); + if (up) + rtnl_link_set_flags (request, IFF_UP); + else + rtnl_link_unset_flags (request, IFF_UP); + old = iface_to_rtnl_link (iface, nlh); - rtnl_link_change (nlh, old, request, 0); + if (old) + rtnl_link_change (nlh, old, request, 0); rtnl_link_put (old); rtnl_link_put (request);