diff --git a/.gitignore b/.gitignore index d5d1567..2615b13 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /hdparm-9.58.tar.gz +/hdparm-9.60.tar.gz diff --git a/hdparm-9.54-resourceleak-fixes-2.patch b/hdparm-9.54-resourceleak-fixes-2.patch new file mode 100644 index 0000000..2fac03a --- /dev/null +++ b/hdparm-9.54-resourceleak-fixes-2.patch @@ -0,0 +1,23 @@ +diff -up hdparm-9.54/hdparm.c.bak hdparm-9.54/hdparm.c +--- hdparm-9.54/hdparm.c.bak 2020-06-01 17:56:47.257520643 +0200 ++++ hdparm-9.54/hdparm.c 2020-06-01 17:57:29.285084217 +0200 +@@ -461,12 +461,15 @@ static void dump_identity (__u16 *idw) + { + int i; + char pmodes[64] = {0,}, dmodes[128]={0,}, umodes[128]={0,}; +- char *model = strip(strndup((char *)&idw[27], 40)); +- char *fwrev = strip(strndup((char *)&idw[23], 8)); +- char *serno = strip(strndup((char *)&idw[10], 20)); ++ char *model = strndup((char *)&idw[27], 40); ++ char *model_s = strip(model); ++ char *fwrev = strndup((char *)&idw[23], 8); ++ char *fwrev_s = strip(fwrev); ++ char *serno = strndup((char *)&idw[10], 20); ++ char *serno_s = strip(serno); + __u8 tPIO; + +- printf("\n Model=%.40s, FwRev=%.8s, SerialNo=%.20s", model, fwrev, serno); ++ printf("\n Model=%.40s, FwRev=%.8s, SerialNo=%.20s", model_s, fwrev_s, serno_s); + printf("\n Config={"); + for (i = 0; i <= 15; i++) { + if (idw[0] & (1< @@ -22,7 +21,7 @@ Index: hdparm-9.43/sgio.c if (tf->command == ATA_OP_PIDENTIFY) prefer12 = 0; -@@ -302,14 +306,16 @@ int sg16 (int fd, int rw, int dma, struc +@@ -306,14 +310,16 @@ int sg16 (int fd, int rw, int dma, struc desc = sb + 8; if (io_hdr.driver_status != SG_DRIVER_SENSE) { @@ -44,4 +43,4 @@ Index: hdparm-9.43/sgio.c +#endif } } else if (sb[0] != 0x72 || sb[7] < 14 || desc[0] != 0x09 || desc[1] < 0x0c) { - dump_bytes("SG_IO: bad/missing sense data, sb[]", sb, sizeof(sb)); + if (verbose || tf->command != ATA_OP_IDENTIFY) diff --git a/hdparm.spec b/hdparm.spec index 5e81588..a164e15 100644 --- a/hdparm.spec +++ b/hdparm.spec @@ -1,13 +1,15 @@ Summary: A utility for displaying and/or setting hard disk parameters Name: hdparm -Version: 9.58 -Release: 5%{?dist} +Version: 9.60 +Release: 1%{?dist} License: BSD URL: https://sourceforge.net/projects/%{name}/ Source: https://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz -Patch0: %{name}-9.43-ditch_dead_code.patch +Patch0: %{name}-9.60-ditch_dead_code.patch Patch1: %{name}-9.43-close_fd.patch Patch2: %{name}-9.43-get_geom.patch +Patch3: %{name}-9.54-resourceleak-fixes.patch +Patch4: %{name}-9.54-resourceleak-fixes-2.patch BuildRequires: gcc BuildRequires: make @@ -37,6 +39,9 @@ install -c -m 644 hdparm.8 $RPM_BUILD_ROOT/%{_mandir}/man8 %{_mandir}/man8/hdparm.8* %changelog +* Wed Apr 07 2021 Tomas Bzatek - 9.60-1 +- New upstream version 9.60 + * Tue Jan 26 2021 Fedora Release Engineering - 9.58-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index a898147..eeb93da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (hdparm-9.58.tar.gz) = 42fb70f494aae4cc205ca68c3e883e1f4fc33e8ced1914e280e9f3faa7233d3f839e59178ec09ddb9d32e9d2bca122ce324645ecb5ac73defa284030ac7d3cea +SHA512 (hdparm-9.60.tar.gz) = e40b3b48b409014acd0ec0bd7ff821e850b127627b1f5114c442eeaf0b93f02c6933f93a221037255499b741071c0a5cb4d9cf7f9a06ff92a416caf82673a0ed