From: Lucas De Marchi Date: Thu, 12 Jan 2012 17:36:54 +0000 (-0200) Subject: modprobe: fix leak on error path X-Git-Tag: v4~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e4e1e64ab0edd378238c89ce5329737ca4f52644;p=thirdparty%2Fkmod.git modprobe: fix leak on error path --- diff --git a/tools/kmod-modprobe.c b/tools/kmod-modprobe.c index ae6fc91d..33510f01 100644 --- a/tools/kmod-modprobe.c +++ b/tools/kmod-modprobe.c @@ -370,16 +370,21 @@ static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies) if (state < 0) { LOG ("Module %s not found.\n", modname); - return -ENOENT; + err = -ENOENT; + goto error; } else if (state == KMOD_MODULE_BUILTIN) { LOG("Module %s is builtin.\n", modname); - return -ENOENT; + err = -ENOENT; + goto error; } else if (state != KMOD_MODULE_LIVE) { if (first_time) { LOG("Module %s is not in kernel.\n", modname); - return -ENOENT; - } else - return 0; + err = -ENOENT; + goto error; + } else { + err = 0; + goto error; + } } }