depmod: fix leaking root on exit
diff --git a/tools/depmod.c b/tools/depmod.c
index d25f76b..a4a7479 100644
--- a/tools/depmod.c
+++ b/tools/depmod.c
@@ -2404,7 +2404,7 @@
 			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 @@
 		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 @@
 	depmod_shutdown(&depmod);
 	cfg_free(&cfg);
 	free(config_paths);
+	free(root);
 	return err >= 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 
 cmdline_modules_failed: