From: Howard Chu Date: Sun, 2 Sep 2007 23:47:49 +0000 (+0000) Subject: Fix schema undo crash X-Git-Tag: OPENLDAP_REL_ENG_2_4_MP~13 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d316b89bc3be5cebd0b659637df3337a2d588371;p=openldap Fix schema undo crash --- diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index fd57476fda..79b99d1fec 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -1149,10 +1149,14 @@ config_generic(ConfigArgs *c) { break; case CFG_OC: { - CfEntryInfo *ce = c->ca_entry->e_private; - /* can't modify the hardcoded schema */ - if ( ce->ce_parent->ce_type == Cft_Global ) - return 1; + CfEntryInfo *ce; + /* Can be NULL when undoing a failed add */ + if ( c->ca_entry ) { + ce = c->ca_entry->e_private; + /* can't modify the hardcoded schema */ + if ( ce->ce_parent->ce_type == Cft_Global ) + return 1; + } } cfn = c->private; if ( c->valx < 0 ) { @@ -1183,10 +1187,14 @@ config_generic(ConfigArgs *c) { break; case CFG_ATTR: { - CfEntryInfo *ce = c->ca_entry->e_private; - /* can't modify the hardcoded schema */ - if ( ce->ce_parent->ce_type == Cft_Global ) - return 1; + CfEntryInfo *ce; + /* Can be NULL when undoing a failed add */ + if ( c->ca_entry ) { + ce = c->ca_entry->e_private; + /* can't modify the hardcoded schema */ + if ( ce->ce_parent->ce_type == Cft_Global ) + return 1; + } } cfn = c->private; if ( c->valx < 0 ) {