From e05ee1b98d157beb44ee3953ddf91c473598dbf6 Mon Sep 17 00:00:00 2001 From: ctl-ly Date: Thu, 29 Dec 2022 11:00:03 +0800 Subject: [PATCH 1/3] Fix memory leak in caf_read_header --- 0003-fix1.patch | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ libsndfile.spec | 9 +++++-- 2 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 0003-fix1.patch diff --git a/0003-fix1.patch b/0003-fix1.patch new file mode 100644 index 0000000..01b966e --- /dev/null +++ b/0003-fix1.patch @@ -0,0 +1,65 @@ +From 65cf4511928ff0a4b387a15e10ae9f2431596cf7 Mon Sep 17 00:00:00 2001 +From: ctl-ly +Date: Thu, 29 Dec 2022 10:53:55 +0800 +Subject: [PATCH] fix1 + +--- + docs/index.md | 2 +- + include/sndfile.h.in | 4 ++-- + src/caf.c | 5 +++++ + 3 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/docs/index.md b/docs/index.md +index 3779fdf..ee6bd07 100644 +--- a/docs/index.md ++++ b/docs/index.md +@@ -194,7 +194,7 @@ long as you abide by [the license](http://www.gnu.org/copyleft/lesser.html). + Check latest version on + [GitHub Releases page](https://github.com/libsndfile/libsndfile/releases/). + +-Binatries and source packages are signed by current releaser David Seifert aka ++Binaries and source packages are signed by current releaser David Seifert aka + @SoapGentoo. You can verify signatures with his public GPG key: + + ``` +diff --git a/include/sndfile.h.in b/include/sndfile.h.in +index 917ff4b..970fb26 100644 +--- a/include/sndfile.h.in ++++ b/include/sndfile.h.in +@@ -173,6 +173,7 @@ enum + + SFC_SET_RAW_START_OFFSET = 0x1090, + ++ /* Commands reserved for dithering, which is not implemented. */ + SFC_SET_DITHER_ON_WRITE = 0x10A0, + SFC_SET_DITHER_ON_READ = 0x10A1, + +@@ -386,8 +387,7 @@ typedef struct + + /* + ** Enums and typedefs for adding dither on read and write. +-** See the html documentation for sf_command(), SFC_SET_DITHER_ON_WRITE +-** and SFC_SET_DITHER_ON_READ. ++** Reserved for future implementation. + */ + + enum +diff --git a/src/caf.c b/src/caf.c +index 45b1dba..6b2e579 100644 +--- a/src/caf.c ++++ b/src/caf.c +@@ -416,6 +416,11 @@ caf_read_header (SF_PRIVATE *psf) + return SFE_CAF_BAD_PEAK ; + } ; + ++ if (psf->peak_info) ++ { psf_log_printf (psf, "*** Found existing peak info, using last one.\n") ; ++ free (psf->peak_info) ; ++ psf->peak_info = NULL ; ++ }; + if ((psf->peak_info = peak_info_calloc (psf->sf.channels)) == NULL) + return SFE_MALLOC_FAILED ; + +-- +2.27.0 + diff --git a/libsndfile.spec b/libsndfile.spec index 1d869da..33b37fd 100644 --- a/libsndfile.spec +++ b/libsndfile.spec @@ -1,6 +1,6 @@ Name: libsndfile Version: 1.0.31 -Release: 2 +Release: 3 Summary: Library for reading and writing sound files License: LGPLv2+ and GPLv2+ and BSD URL: http://libsndfile.github.io/libsndfile @@ -12,7 +12,7 @@ BuildRequires: sqlite-devel Patch1: 0001-CVE-2021-3246.patch Patch2: 0002-CVE-2021-4156.patch - +Patch3: 0003-fix1.patch %description Libsndfile is a C library for reading and writing files containing sampled sound such as MS Windows WAV and the Apple/SGI AIFF format @@ -116,6 +116,11 @@ LD_LIBRARY_PATH=$PWD/src/.libs make check %{_mandir}/man1/sndfile-salvage.1* %changelog +* Wed Dec 28 2022 liying - 1.0.31-3 +- Marked unimplemented dither enums in the header file as such. +- Fix typo +- Fix memory leak in caf_read_header + * Mon May 16 2022 zhouwenpei - 1.0.31-2 - fix CVE-2021-4156 -- Gitee From ad34f3a7c3c0b0ff927455c9dbae29e392084c6c Mon Sep 17 00:00:00 2001 From: ctl-ly Date: Thu, 29 Dec 2022 11:16:19 +0800 Subject: [PATCH 2/3] Fix-memory-leak-in-caf_read_header --- ...x1.patch => 0003-Fix-memory-leak-in-caf_read_header.patch | 0 libsndfile.spec | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) rename 0003-fix1.patch => 0003-Fix-memory-leak-in-caf_read_header.patch (100%) diff --git a/0003-fix1.patch b/0003-Fix-memory-leak-in-caf_read_header.patch similarity index 100% rename from 0003-fix1.patch rename to 0003-Fix-memory-leak-in-caf_read_header.patch diff --git a/libsndfile.spec b/libsndfile.spec index 33b37fd..9510bb8 100644 --- a/libsndfile.spec +++ b/libsndfile.spec @@ -12,7 +12,8 @@ BuildRequires: sqlite-devel Patch1: 0001-CVE-2021-3246.patch Patch2: 0002-CVE-2021-4156.patch -Patch3: 0003-fix1.patch +Patch3: 0003-Fix-memory-leak-in-caf_read_header.patch + %description Libsndfile is a C library for reading and writing files containing sampled sound such as MS Windows WAV and the Apple/SGI AIFF format @@ -116,7 +117,7 @@ LD_LIBRARY_PATH=$PWD/src/.libs make check %{_mandir}/man1/sndfile-salvage.1* %changelog -* Wed Dec 28 2022 liying - 1.0.31-3 +* Wed Dec 29 2022 liying - 1.0.31-3 - Marked unimplemented dither enums in the header file as such. - Fix typo - Fix memory leak in caf_read_header -- Gitee From 0f6db6ecdbe2cdbfdd0c648f1b0a6870e85b73ad Mon Sep 17 00:00:00 2001 From: ctl-ly Date: Thu, 29 Dec 2022 11:47:37 +0800 Subject: [PATCH 3/3] Fix-memory-leak-in-caf_read_header --- libsndfile.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libsndfile.spec b/libsndfile.spec index 9510bb8..fb29a5d 100644 --- a/libsndfile.spec +++ b/libsndfile.spec @@ -117,7 +117,7 @@ LD_LIBRARY_PATH=$PWD/src/.libs make check %{_mandir}/man1/sndfile-salvage.1* %changelog -* Wed Dec 29 2022 liying - 1.0.31-3 +* Thu Dec 29 2022 liying - 1.0.31-3 - Marked unimplemented dither enums in the header file as such. - Fix typo - Fix memory leak in caf_read_header -- Gitee