]> git.sur5r.net Git - openldap/commitdiff
ITS#5540 (partial)
authorQuanah Gibson-Mount <quanah@openldap.org>
Thu, 10 Jul 2008 01:26:02 +0000 (01:26 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 10 Jul 2008 01:26:02 +0000 (01:26 +0000)
CHANGES
servers/slapd/bconfig.c

diff --git a/CHANGES b/CHANGES
index 0e80ec19aca130f5e943a35fb950dc9dd4d84b2d..cada3131593fdae231dd02dca0e8c859b2ff93e8 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,7 @@ OpenLDAP 2.4.11 Engineering
        Fixed liblber ber_get_next length decoding (ITS#5580)
        Added libldap assertion control (ITS#5560)
        Fixed libldap GnuTLS CRL result handling (ITS#5577)
+       Fixed slapd check for structural_class failures (ITS#5540)
        Fixed slapd crash with no listeners (ITS#5563)
        Fixed slapd sets memory leak (ITS#5557)
        Fixed slapd-sock, back-shell buffer count (ITS#5558)
index 450cbbfc8ef84c7bf6f6e21b141151fa7a354c58..bd93b5c7b4797855ac12e30dd9e907376df1c4ec 100644 (file)
@@ -5507,6 +5507,12 @@ config_build_entry( Operation *op, SlapReply *rs, CfEntryInfo *parent,
        oc_at = attr_find( e->e_attrs, slap_schema.si_ad_objectClass );
        rc = structural_class(oc_at->a_vals, &oc, NULL, &text, c->cr_msg,
                sizeof(c->cr_msg), op ? op->o_tmpmemctx : NULL );
+       if ( rc != LDAP_SUCCESS ) {
+               Debug( LDAP_DEBUG_ANY,
+                       "config_build_entry: build \"%s\" failed: \"%s\"\n",
+                       rdn->bv_val, text, 0);
+               return NULL;
+       }
        attr_merge_normalize_one(e, slap_schema.si_ad_structuralObjectClass, &oc->soc_cname, NULL );
        if ( op ) {
                op->ora_e = e;