From: Lucas De Marchi Date: Fri, 25 Nov 2011 01:06:48 +0000 (-0200) Subject: Ref and unref ctx when kmod_loaded is created/destroyed X-Git-Tag: v1~194 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=853b5fc52e65cec77c2b266ae63e0fe78ed6b0c7;p=thirdparty%2Fkmod.git Ref and unref ctx when kmod_loaded is created/destroyed --- diff --git a/libkmod/libkmod-loaded.c b/libkmod/libkmod-loaded.c index 1333f3cc..f209a790 100644 --- a/libkmod/libkmod-loaded.c +++ b/libkmod/libkmod-loaded.c @@ -67,7 +67,7 @@ KMOD_EXPORT int kmod_loaded_new(struct kmod_ctx *ctx, struct kmod_loaded **mod) return -ENOMEM; m->refcount = 1; - m->ctx = ctx; + m->ctx = kmod_ref(ctx); *mod = m; return 0; } @@ -104,6 +104,8 @@ KMOD_EXPORT struct kmod_loaded *kmod_loaded_unref(struct kmod_loaded *mod) return mod; dbg(mod->ctx, "kmod_loaded %p released\n", mod); + + kmod_unref(mod->ctx); loaded_modules_free(mod); free(mod); return NULL;