From: Lucas De Marchi Date: Wed, 25 Feb 2015 02:58:39 +0000 (-0300) Subject: depmod: fix leaking root on exit X-Git-Tag: v20~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e90f0704ea81c4e90663c4e8ea91e475f0b6aa36;p=thirdparty%2Fkmod.git depmod: fix leaking root on exit --- diff --git a/tools/depmod.c b/tools/depmod.c index d25f76b1..a4a7479f 100644 --- a/tools/depmod.c +++ b/tools/depmod.c @@ -2404,7 +2404,7 @@ static int do_depmod(int argc, char *argv[]) maybe_all = 1; break; case 'b': - root = path_make_absolute_cwd(optarg); + root = optarg; break; case 'C': { size_t bytes = sizeof(char *) * (n_config_paths + 2); @@ -2483,6 +2483,9 @@ static int do_depmod(int argc, char *argv[]) cfg.kversion = un.release; } + if (root) + root = path_make_absolute_cwd(optarg); + cfg.dirnamelen = snprintf(cfg.dirname, PATH_MAX, "%s/lib/modules/%s", root == NULL ? "" : root, cfg.kversion); @@ -2594,6 +2597,7 @@ done: depmod_shutdown(&depmod); cfg_free(&cfg); free(config_paths); + free(root); return err >= 0 ? EXIT_SUCCESS : EXIT_FAILURE; cmdline_modules_failed: