!13 xfsdump: fix memory leak
From: @liuh0329 Reviewed-by: @swf504 Signed-off-by: @swf504
This commit is contained in:
commit
f04631135c
48
0001-xfsdump-fix-memory-leak.patch
Normal file
48
0001-xfsdump-fix-memory-leak.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
From 577e51a5abdda97ffce73637d67f5f88d7e93ac7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pavel Reichl <preichl@redhat.com>
|
||||||
|
Date: Thu, 14 Dec 2023 21:25:49 +0100
|
||||||
|
Subject: xfsdump: Fix memory leak
|
||||||
|
|
||||||
|
Fix memory leak found by coverity.
|
||||||
|
|
||||||
|
>>> CID 1554295: Resource leaks (RESOURCE_LEAK)
|
||||||
|
>>> Failing to save or free storage allocated by strdup(path) leaks it.
|
||||||
|
|
||||||
|
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
|
||||||
|
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||||
|
Signed-off-by: Carlos Maiolino <cem@kernel.org>
|
||||||
|
---
|
||||||
|
restore/tree.c | 15 ++++++++++++++-
|
||||||
|
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/restore/tree.c b/restore/tree.c
|
||||||
|
index 6f3180f5..4707fdc9 100644
|
||||||
|
--- a/restore/tree.c
|
||||||
|
+++ b/restore/tree.c
|
||||||
|
@@ -4977,9 +4977,22 @@ static int
|
||||||
|
mkdir_r(char *path)
|
||||||
|
{
|
||||||
|
struct stat sbuf;
|
||||||
|
+ char *path_copy;
|
||||||
|
+ int ret;
|
||||||
|
|
||||||
|
if (stat(path, &sbuf) < 0) {
|
||||||
|
- if (mkdir_r(dirname(strdup(path))) < 0)
|
||||||
|
+ path_copy = strdup(path);
|
||||||
|
+ if (!path_copy) {
|
||||||
|
+ mlog(MLOG_TRACE | MLOG_ERROR | MLOG_TREE,
|
||||||
|
+ _("unable to allocate memory for a path\n"));
|
||||||
|
+ mlog_exit(EXIT_ERROR, RV_ERROR);
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ ret = mkdir_r(dirname(path_copy));
|
||||||
|
+ free(path_copy);
|
||||||
|
+
|
||||||
|
+ if (ret < 0)
|
||||||
|
return -1;
|
||||||
|
return mkdir(path, 0755);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
cgit 1.2.3-korg
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Name: xfsdump
|
Name: xfsdump
|
||||||
Version: 3.1.12
|
Version: 3.1.12
|
||||||
Release: 1
|
Release: 2
|
||||||
Summary: Tools create and restore for the XFS filesystem
|
Summary: Tools create and restore for the XFS filesystem
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
URL: http://xfs.org
|
URL: http://xfs.org
|
||||||
@ -10,6 +10,8 @@ BuildRequires: libtool, gettext, gawk
|
|||||||
BuildRequires: xfsprogs-devel, ncurses-devel, libuuid-devel, libattr-devel
|
BuildRequires: xfsprogs-devel, ncurses-devel, libuuid-devel, libattr-devel
|
||||||
Requires: xfsprogs, attr
|
Requires: xfsprogs, attr
|
||||||
|
|
||||||
|
Patch0: 0001-xfsdump-fix-memory-leak.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
xfsdump tools create and restore backups of directory trees on XFS filesystems.
|
xfsdump tools create and restore backups of directory trees on XFS filesystems.
|
||||||
|
|
||||||
@ -48,6 +50,9 @@ mkdir -p %{buildroot}/%{_sharedstatedir}/xfsdump/inventory
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 20 2024 liuh <liuhuan01@kylinos.cn> - 3.1.12-2
|
||||||
|
- xfsdump: fix memory leak
|
||||||
|
|
||||||
* Wed Feb 8 2023 wuguanghao <wuguanghao3@huawei.com> - 3.1.12-1
|
* Wed Feb 8 2023 wuguanghao <wuguanghao3@huawei.com> - 3.1.12-1
|
||||||
- upgrade xfsdump version to 3.1.12-1
|
- upgrade xfsdump version to 3.1.12-1
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user