From 0b44d8c3d7dfadb60b30c9339b18c4cc1617b51b Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Mon, 12 May 2014 17:11:13 +0200 Subject: networkd: manager - don't leak kmod context Also, keep the kmod_new internal to networkd-manager.c --- src/network/networkd-manager.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'src/network/networkd-manager.c') diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index cfa3a9900a..cc55f9a17a 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -118,6 +118,10 @@ int manager_new(Manager **ret) { return -ENOMEM; } + m->kmod_ctx = kmod_new(NULL, NULL); + if (!m->kmod_ctx) + return -ENOMEM; + m->links = hashmap_new(uint64_hash_func, uint64_compare_func); if (!m->links) return -ENOMEM; @@ -144,6 +148,7 @@ void manager_free(Manager *m) { free(m->state_file); + kmod_unref(m->kmod_ctx); udev_monitor_unref(m->udev_monitor); udev_unref(m->udev); sd_bus_unref(m->bus); @@ -552,18 +557,3 @@ finish: return r; } - -int manager_init_kmod_ctx(Manager *m) { - struct kmod_ctx *ctx; - - assert(m); - - ctx = kmod_new(NULL, NULL); - if (!ctx) { - return -ENOMEM; - } - - m->kmod_ctx = ctx; - - return 0; -} -- cgit v1.2.3-54-g00ecf