Hello community, here is the log from the commit of package openldap2 for openSUSE:Factory checked in at 2018-11-08 09:39:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openldap2 (Old) and /work/SRC/openSUSE:Factory/.openldap2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openldap2" Thu Nov 8 09:39:55 2018 rev:138 rq:644952 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/openldap2/openldap2.changes 2018-09-05 13:43:12.525751098 +0200 +++ /work/SRC/openSUSE:Factory/.openldap2.new/openldap2.changes 2018-11-08 09:39:57.465697089 +0100 @@ -1,0 +2,7 @@ +Fri Oct 26 14:58:41 UTC 2018 - Michael Ströder <[email protected]> + +- Fixed broken memory handling in + 0001-ITS-8866-slapo-unique-to-return-filter-used-in-diagn.patch + affecting error response of slapo-unique + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ 0001-ITS-8866-slapo-unique-to-return-filter-used-in-diagn.patch ++++++ --- /var/tmp/diff_new_pack.Ubvdm1/_old 2018-11-08 09:39:59.305694963 +0100 +++ /var/tmp/diff_new_pack.Ubvdm1/_new 2018-11-08 09:39:59.305694963 +0100 @@ -1,15 +1,15 @@ -From 41458072b9aae81ebd7a45837c6ce376709fe907 Mon Sep 17 00:00:00 2001 +From 348588561c694784a8106871b0d5fe578007ea4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Str=C3=B6der?= <[email protected]> -Date: Wed, 20 Jun 2018 14:05:52 +0200 +Date: Fri, 26 Oct 2018 16:40:23 +0200 Subject: [PATCH] ITS#8866 slapo-unique to return filter used in diagnostic message --- - servers/slapd/overlays/unique.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) + servers/slapd/overlays/unique.c | 27 +++++++++++++++++---------- + 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/servers/slapd/overlays/unique.c b/servers/slapd/overlays/unique.c -index 9e8d3e3a5..41c698f47 100644 +index ed62d03b8..a7723cf5d 100644 --- a/servers/slapd/overlays/unique.c +++ b/servers/slapd/overlays/unique.c @@ -965,6 +965,8 @@ unique_search( @@ -21,21 +21,46 @@ Debug(LDAP_DEBUG_TRACE, "==> unique_search %s\n", key->bv_val, 0, 0); -@@ -1009,9 +1011,12 @@ unique_search( - Debug(LDAP_DEBUG_TRACE, "=> unique_search found %d records\n", uq.count, 0, 0); +@@ -998,24 +1000,29 @@ unique_search( + nop->o_bd = on->on_info->oi_origdb; + rc = nop->o_bd->be_search(nop, &nrs); + filter_free_x(nop, nop->ors_filter, 1); +- op->o_tmpfree( key->bv_val, op->o_tmpmemctx ); - if(uq.count) { + if(rc != LDAP_SUCCESS && rc != LDAP_NO_SUCH_OBJECT) { + op->o_bd->bd_info = (BackendInfo *) on->on_info; + send_ldap_error(op, rs, rc, "unique_search failed"); +- return(rs->sr_err); +- } +- +- Debug(LDAP_DEBUG_TRACE, "=> unique_search found %d records\n", uq.count, 0, 0); ++ rc = rs->sr_err; ++ } else if(uq.count) { ++ Debug(LDAP_DEBUG_TRACE, "=> unique_search found %d records\n", uq.count, 0, 0); + +- if(uq.count) { + errmsgsize = sizeof("non-unique attributes found with ") + key->bv_len; -+ errmsg = ch_malloc(errmsgsize); ++ errmsg = op->o_tmpalloc(errmsgsize, op->o_tmpmemctx); + snprintf( errmsg, errmsgsize, "non-unique attributes found with %s", key->bv_val ); op->o_bd->bd_info = (BackendInfo *) on->on_info; - send_ldap_error(op, rs, LDAP_CONSTRAINT_VIOLATION, - "some attributes not unique"); +- return(rs->sr_err); + send_ldap_error(op, rs, LDAP_CONSTRAINT_VIOLATION, errmsg); -+ ch_free(errmsg); - return(rs->sr_err); ++ op->o_tmpfree(errmsg, op->o_tmpmemctx); ++ rc = rs->sr_err; ++ } else { ++ Debug(LDAP_DEBUG_TRACE, "=> unique_search found no records\n", 0, 0, 0); ++ rc = SLAP_CB_CONTINUE; } +- return(SLAP_CB_CONTINUE); ++ op->o_tmpfree( key->bv_val, op->o_tmpmemctx ); ++ ++ return(rc); + } + + static int -- -2.17.1 +2.19.1
