From b090fc4f877d1480c2939381c1cbe1ef190d485f Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mar 16 2021 10:29:27 +0000 Subject: import slapi-nis-0.56.5-3.el7_9 --- diff --git a/SOURCES/slapi-nis-fix-valgrind-issues.patch b/SOURCES/slapi-nis-fix-valgrind-issues.patch new file mode 100644 index 0000000..d268f6e --- /dev/null +++ b/SOURCES/slapi-nis-fix-valgrind-issues.patch @@ -0,0 +1,61 @@ +From dbe1e300171e04cc328a4f31d0bffcac056e7cfa Mon Sep 17 00:00:00 2001 +From: Alexander Bokovoy +Date: Mon, 31 Aug 2020 16:53:47 +0300 +Subject: [PATCH] idviews: clear intermediate target DN in all cases + +When processing a search request, slapi-nis attempts to detect an ID +View lookup. A target DN is modified by extracting an ID view name. This +temporary string is freed in the successful case but left unotouched if +ID View wasn't requested. As a result, small leaks on each search +request accumulate and a memory can get lost. + +Resolves: rhbz#1866113 + +Signed-off-by: Alexander Bokovoy +--- + src/back-sch.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/src/back-sch.c b/src/back-sch.c +index 03abbeb..f8b04a3 100644 +--- a/src/back-sch.c ++++ b/src/back-sch.c +@@ -1767,6 +1767,7 @@ backend_search_cb(Slapi_PBlock *pb) + /* Perform another check, now for rewritten DN */ + cbdata.target_dn = slapi_sdn_new_dn_byval(target); + map_data_foreach_domain(cbdata.state, backend_search_find_set_dn_cb, &cbdata); ++ + /* Rewritten DN might still be outside of our trees */ + if (cbdata.answer == TRUE) { + slapi_log_error(SLAPI_LOG_PLUGIN, cbdata.state->plugin_desc->spd_id, +@@ -1774,19 +1775,21 @@ backend_search_cb(Slapi_PBlock *pb) + "for \"%s\" with scope %d%s. Filter may get overridden later.\n", + cbdata.idview, target, cbdata.strfilter, cbdata.scope, + backend_sch_scope_as_string(cbdata.scope)); +- } else { +- slapi_sdn_free(&cbdata.target_dn); +- slapi_ch_free_string(&target); +- slapi_ch_free_string(&cbdata.idview); ++ } ++ ++ slapi_sdn_free(&cbdata.target_dn); ++ slapi_ch_free_string(&cbdata.idview); ++ ++ if (cbdata.answer == FALSE) { + slapi_log_error(SLAPI_LOG_PLUGIN, + cbdata.state->plugin_desc->spd_id, + "The search base didn't match any of the containers, " + "ignoring search\n"); ++ slapi_ch_free_string(&target); + return 0; + } +- } else { +- slapi_ch_free_string(&target); + } ++ slapi_ch_free_string(&target); + } + cbdata.answer = FALSE; + #endif +-- +2.26.2 + diff --git a/SPECS/slapi-nis.spec b/SPECS/slapi-nis.spec index df7b223..ef872e6 100644 --- a/SPECS/slapi-nis.spec +++ b/SPECS/slapi-nis.spec @@ -11,7 +11,7 @@ Name: slapi-nis Version: 0.56.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: NIS Server and Schema Compatibility plugins for Directory Server Group: System Environment/Daemons License: GPLv2 @@ -19,6 +19,7 @@ URL: http://pagure.io/slapi-nis/ Source0: https://releases.pagure.org/slapi-nis/slapi-nis-%{version}.tar.gz Source1: https://releases.pagure.org/slapi-nis/slapi-nis-%{version}.tar.gz.asc Patch1: slapi-nis-bz1832190.patch +Patch2: slapi-nis-fix-valgrind-issues.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: autoconf @@ -65,6 +66,7 @@ for attributes from multiple entries in the tree. %prep %setup -q %patch1 -p1 +%patch2 -p1 %build libtoolize -f -c @@ -100,6 +102,10 @@ rm -rf $RPM_BUILD_ROOT %{_sbindir}/nisserver-plugin-defs %changelog +* Fri Jan 29 2021 Alexander Bokovoy - 0.56.5-3 +- Fix memory leaks in ID views processing +- Resolves: rhbz#1866113 + * Wed May 06 2020 Alexander Bokovoy - 0.56.5-2 - Initialize map lock in NIS plugin - Resolves: rhbz#1832190