From 3e620a1e7f9473c51a6e45c5aa48f41022c99736 Mon Sep 17 00:00:00 2001 From: Zhiqiang Liu Date: Tue, 1 Mar 2022 16:03:25 +0800 Subject: [PATCH] hdparm: rename patches and fix one fd leak in sysfs_write_attr() rename patches and fix one fd leak in sysfs_write_attr(). Fix issue: https://gitee.com/src-openeuler/hdparm/issues/I4S2C0 Signed-off-by: Zhiqiang Liu (cherry picked from commit 8f2ce8643ae9257830d4e27cedd46bca27aafd50) --- ...ch => 0001-hdparm-fallocate-close-fd.patch | 0 ...am-Remove-security_password-printing.patch | 0 ...parm-fix-fd-leak-in-sysfs_write_attr.patch | 33 +++++++++++++++++++ hdparm.spec | 10 ++++-- 4 files changed, 40 insertions(+), 3 deletions(-) rename 9000-hdparm-fallocate-close-fd.patch => 0001-hdparm-fallocate-close-fd.patch (100%) rename 9001-hdparam-Remove-security_password-printing.patch => 0002-hdparam-Remove-security_password-printing.patch (100%) create mode 100644 0003-hdparm-fix-fd-leak-in-sysfs_write_attr.patch diff --git a/9000-hdparm-fallocate-close-fd.patch b/0001-hdparm-fallocate-close-fd.patch similarity index 100% rename from 9000-hdparm-fallocate-close-fd.patch rename to 0001-hdparm-fallocate-close-fd.patch diff --git a/9001-hdparam-Remove-security_password-printing.patch b/0002-hdparam-Remove-security_password-printing.patch similarity index 100% rename from 9001-hdparam-Remove-security_password-printing.patch rename to 0002-hdparam-Remove-security_password-printing.patch diff --git a/0003-hdparm-fix-fd-leak-in-sysfs_write_attr.patch b/0003-hdparm-fix-fd-leak-in-sysfs_write_attr.patch new file mode 100644 index 0000000..79317a1 --- /dev/null +++ b/0003-hdparm-fix-fd-leak-in-sysfs_write_attr.patch @@ -0,0 +1,33 @@ +From ac3b725928b6b6c4a1188670a67ed5432744de26 Mon Sep 17 00:00:00 2001 +From: Zhiqiang Liu +Date: Tue, 1 Mar 2022 15:47:02 +0800 +Subject: [PATCH] hdparm: fix fd leak in sysfs_write_attr() + +In sysfs_write_attr(), if "fmt[0] != %", will return without +close fp. + +Fix issue: https://gitee.com/src-openeuler/hdparm/issues/I4S2C0 + +Signed-off-by: Zhiqiang Liu +--- + sysfs.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/sysfs.c b/sysfs.c +index 60b8146..722b2a9 100644 +--- a/sysfs.c ++++ b/sysfs.c +@@ -60,8 +60,9 @@ static int sysfs_write_attr (char *path, const char *attr, const char *fmt, void + } + if (count < 0) + err = errno; +- fclose(fp); + } ++ if (!fp) ++ fclose(fp); + if (err && verbose) perror(path); + *pathtail = '\0'; + return err; +-- +1.8.3.1 + diff --git a/hdparm.spec b/hdparm.spec index 9014c2c..50e00e6 100644 --- a/hdparm.spec +++ b/hdparm.spec @@ -1,12 +1,13 @@ Name: hdparm Version: 9.58 -Release: 2 +Release: 3 Summary: A system utility for setting or showing hard drive parameters License: BSD URL: https://sourceforge.net/projects/%{name}/ Source0: https://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz -Patch9000: 9000-hdparm-fallocate-close-fd.patch -Patch9001: 9001-hdparam-Remove-security_password-printing.patch +Patch1: 0001-hdparm-fallocate-close-fd.patch +Patch2: 0002-hdparam-Remove-security_password-printing.patch +Patch3: 0003-hdparm-fix-fd-leak-in-sysfs_write_attr.patch BuildRequires: gcc git @@ -43,6 +44,9 @@ install -c -m 644 hdparm.8 $RPM_BUILD_ROOT/%{_mandir}/man8 %{_mandir}/man8/hdparm.8* %changelog +* Tue Mar 01 2022 Zhiqiang Liu - 9.58-3 +- rename patches and fix one fd leak in sysfs_write_attr() + * Sat Jan 22 2022 linfeilong - 9.58-2 - Type:bugfix - ID:NA -- Gitee