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
 


Reply via email to