36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
|
|
From 9c156ab9ca53e5fc15730a10d1773da04ea59d4d Mon Sep 17 00:00:00 2001
|
|||
|
|
From: David Sterba <dsterba@suse.com>
|
|||
|
|
Date: Wed, 3 Apr 2024 23:13:54 +0200
|
|||
|
|
Subject: [PATCH] btrfs-progs: string-table: fix memory leak on exit path in
|
|||
|
|
table_vprintf()
|
|||
|
|
MIME-Version: 1.0
|
|||
|
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|
|||
|
|
Reported by 'gcc -fanalyzer:
|
|||
|
|
common/string-table.c:62:17: warning: leak of ‘msg’ [CWE-401] [-Wanalyzer-malloc-leak]
|
|||
|
|
|
|||
|
|
The 'msg' still allocated when returning from the function due to error,
|
|||
|
|
free it.
|
|||
|
|
|
|||
|
|
Signed-off-by: David Sterba <dsterba@suse.com>
|
|||
|
|
---
|
|||
|
|
common/string-table.c | 1 +
|
|||
|
|
1 file changed, 1 insertion(+)
|
|||
|
|
|
|||
|
|
diff --git a/common/string-table.c b/common/string-table.c
|
|||
|
|
index 298066c..6d941fa 100644
|
|||
|
|
--- a/common/string-table.c
|
|||
|
|
+++ b/common/string-table.c
|
|||
|
|
@@ -57,6 +57,7 @@ char *table_vprintf(struct string_table *tab, unsigned int column, unsigned int
|
|||
|
|
return NULL;
|
|||
|
|
|
|||
|
|
if (column >= tab->ncols || row >= tab->nrows) {
|
|||
|
|
+ free(msg);
|
|||
|
|
error("attempt to write outside of table: col %u row %u fmt %s",
|
|||
|
|
column, row, fmt);
|
|||
|
|
return NULL;
|
|||
|
|
--
|
|||
|
|
2.33.0
|
|||
|
|
|