[PATCH] ubifs-utils: common: fix memory leak in devtable.c

Anton Moryakov ant.v.moryakov at gmail.com
Thu May 15 01:25:15 PDT 2025


Report of the static analyzer:
Dynamic memory, referenced by 'line', is allocated at devtable.c:356 
by calling function 'getline' and lost at devtable.c:388. 
(line: while (getline(&line, &len, f) != -1) {)

Correct explained:
Now line is freed in any exit scenario via out_close which eliminates this error.

Triggers found by static analyzer Svace.

Signed-off-by: Anton Moryakov <ant.v.moryakov at gmail.com>
Reviewed-by: Zhihao Cheng <chengzhihao1 at huawei.com>

---
 ubifs-utils/common/devtable.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ubifs-utils/common/devtable.c b/ubifs-utils/common/devtable.c
index 7347f09..2e581ff 100644
--- a/ubifs-utils/common/devtable.c
+++ b/ubifs-utils/common/devtable.c
@@ -392,6 +392,7 @@ int parse_devtable(const char *tbl_file)
 
 out_close:
 	fclose(f);
+	free(line);
 	free_devtable_info();
 	return -1;
 }
--
2.34.1




More information about the linux-mtd mailing list