From 37ce22c49b126869418f888a05237084edee64db Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Fri, 17 Mar 2017 23:30:43 +0100 Subject: manager: ensure proper disposal of unrealized devices When remove_device() is called on an already unrealized device, we should release it from master if necessary and clear its IP configurations to avoid leaks. https://bugzilla.redhat.com/show_bug.cgi?id=1433303 --- src/nm-manager.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c index 1003ebbb99..0a9522f767 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -1070,7 +1070,12 @@ remove_device (NMManager *self, g_signal_emit (self, signals[DEVICE_REMOVED], 0, device); _notify (self, PROP_DEVICES); + } else { + /* unrealize() does not release a slave device from master and + * clear IP configurations, do it here */ + nm_device_removed (device, TRUE); } + g_signal_emit (self, signals[INTERNAL_DEVICE_REMOVED], 0, device); _notify (self, PROP_ALL_DEVICES); -- cgit v1.2.1