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 0000000000000000000000000000000000000000..79317a1494cd50ea4e40eae89b64ba8758014a78 --- /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 9014c2c770731a80532b65db493696d2fea90352..50e00e6994448226b8329800fcead6e12c02f4f2 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