]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
depmod: fix leaking root on exit
authorLucas De Marchi <lucas.demarchi@intel.com>
Wed, 25 Feb 2015 02:58:39 +0000 (23:58 -0300)
committerLucas De Marchi <lucas.demarchi@intel.com>
Wed, 25 Feb 2015 03:50:37 +0000 (00:50 -0300)
tools/depmod.c

index d25f76b18388afe30b158d521e9368fa1452e5e8..a4a7479f4295f9fc1cb077b18d2dc4138d8da732 100644 (file)
@@ -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: