X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Foverlays%2Fconstraint.c;h=8ce8a0fc6aa722812b1aa0008d5b55336dd52cfb;hb=76754855e81c68071d79e7f06978c4f394ca4228;hp=b2c92f0f5c26f5e759ed555841ba6006dc2b5de9;hpb=e1e0370e8c721ad4ee2148bf685fed9038f2d628;p=openldap diff --git a/servers/slapd/overlays/constraint.c b/servers/slapd/overlays/constraint.c index b2c92f0f5c..8ce8a0fc6a 100644 --- a/servers/slapd/overlays/constraint.c +++ b/servers/slapd/overlays/constraint.c @@ -275,14 +275,16 @@ constraint_cf_gen( ConfigArgs *c ) return ( ARG_BAD_CONF ); } - a2 = ch_malloc( sizeof(constraint) ); + a2 = ch_calloc( sizeof(constraint), 1 ); a2->ap_next = on->on_bi.bi_private; a2->ap = ap.ap; a2->re = ap.re; a2->val = ap.val; a2->lud = ap.lud; - ber_str2bv(a2->lud->lud_dn, 0, 0, &a2->dn); - ber_str2bv(a2->lud->lud_filter, 0, 0, &a2->filter); + if ( a2->lud ) { + ber_str2bv(a2->lud->lud_dn, 0, 0, &a2->dn); + ber_str2bv(a2->lud->lud_filter, 0, 0, &a2->filter); + } a2->attrs = ap.attrs; on->on_bi.bi_private = a2; break;