[PATCH v2] erofs-utils: mkfs: fix a memory leak of compression type configuration

Yue Hu zbestahu at gmail.com
Mon Jul 25 15:45:49 AEST 2022


Release the memory allocated for compression type configuration. And no
need to consider !optarg case since getopt_long() will do that.

Signed-off-by: Yue Hu <huyue2 at coolpad.com>
---
 lib/config.c | 3 +++
 mkfs/main.c  | 4 ----
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/lib/config.c b/lib/config.c
index 3963df2..c316a54 100644
--- a/lib/config.c
+++ b/lib/config.c
@@ -55,6 +55,9 @@ void erofs_exit_configure(void)
 #endif
 	if (cfg.c_img_path)
 		free(cfg.c_img_path);
+
+	if (cfg.c_compr_alg_master)
+		free(cfg.c_compr_alg_master);
 }
 
 static unsigned int fullpath_prefix;	/* root directory prefix length */
diff --git a/mkfs/main.c b/mkfs/main.c
index deb8e1f..9f5f1dc 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -212,10 +212,6 @@ static int mkfs_parse_options_cfg(int argc, char *argv[])
 				  long_options, NULL)) != -1) {
 		switch (opt) {
 		case 'z':
-			if (!optarg) {
-				cfg.c_compr_alg_master = "(default)";
-				break;
-			}
 			/* get specified compression level */
 			for (i = 0; optarg[i] != '\0'; ++i) {
 				if (optarg[i] == ',') {
-- 
2.17.1



More information about the Linux-erofs mailing list