diff --git a/onig-6.9.6-fix-memleaks-initialize-memory.patch b/onig-6.9.6-fix-memleaks-initialize-memory.patch new file mode 100644 index 0000000..537ac96 --- /dev/null +++ b/onig-6.9.6-fix-memleaks-initialize-memory.patch @@ -0,0 +1,38 @@ +diff -up onig-6.9.6/src/regexec.c.orig onig-6.9.6/src/regexec.c +--- onig-6.9.6/src/regexec.c.orig 2024-04-24 12:43:16.032613728 +0200 ++++ onig-6.9.6/src/regexec.c 2024-04-24 12:51:00.913457138 +0200 +@@ -4418,6 +4418,7 @@ regset_search_body_position_lead(OnigReg + + sr = (SearchRange* )xmalloc(sizeof(*sr) * n); + CHECK_NULL_RETURN_MEMERR(sr); ++ xmemset(sr, 0, sizeof(*sr) * n); + + for (i = 0; i < n; i++) { + reg = set->rs[i].reg; +diff -up onig-6.9.6/src/regparse.c.orig onig-6.9.6/src/regparse.c +--- onig-6.9.6/src/regparse.c.orig 2020-09-21 15:35:53.000000000 +0200 ++++ onig-6.9.6/src/regparse.c 2024-04-24 12:43:05.122593942 +0200 +@@ -4104,7 +4104,10 @@ and_cclass(CClassNode* dest, CClassNode* + pbuf = tbuf; + } + } +- if (r != 0) return r; ++ if (r != 0) { ++ bbuf_free(pbuf); ++ return r; ++ } + + dest->mbuf = pbuf; + bbuf_free(buf1); +@@ -4161,7 +4164,10 @@ or_cclass(CClassNode* dest, CClassNode* + pbuf = tbuf; + } + } +- if (r != 0) return r; ++ if (r != 0) { ++ bbuf_free(pbuf); ++ return r; ++ } + + dest->mbuf = pbuf; + bbuf_free(buf1); diff --git a/oniguruma.spec b/oniguruma.spec index 2bfd023..0600c7b 100644 --- a/oniguruma.spec +++ b/oniguruma.spec @@ -8,12 +8,13 @@ Name: oniguruma Version: %{mainver} -Release: %{?prerelease:0.}%{fedorarel}%{?betaver:.%betaver}%{?dist}.5 +Release: %{?prerelease:0.}%{fedorarel}%{?betaver:.%betaver}%{?dist}.6 Summary: Regular expressions library License: BSD URL: https://github.com/kkos/oniguruma/ Source0: https://github.com/kkos/oniguruma/releases/download/v%{mainver}%{?betaver:_%betaver}/onig-%{mainver}%{?betaver:-%betaver}.tar.gz +Patch0: onig-6.9.6-fix-memleaks-initialize-memory.patch BuildRequires: make BuildRequires: gcc @@ -36,6 +37,7 @@ developing applications that use %{name}. %prep %setup -q -n onig-%{mainver} +%autopatch -p1 %{__sed} -i.multilib -e 's|-L@libdir@||' onig-config.in @@ -101,6 +103,10 @@ find $RPM_BUILD_ROOT -name '*.la' \ %{_libdir}/pkgconfig/%{name}.pc %changelog +* Tue Jun 11 2024 Vitezslav Crhonek - 6.9.6-1.6 +- Fix memory leaks, initialize memory + Resolves: RHEL-31794 + * Thu Dec 09 2021 Jiri Kucera - 6.9.6-1.5 - Enable LTO Resolves: #1990100