X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fmr.c;h=4ca235e7e518df32e7d2c04bd84f01f37eba7c2f;hb=d1824b14ae78b128fb9ff6cf73d2ec4a0e756a90;hp=32165263fb475015a3e94d21cbc5030e6ce99524;hpb=acbb5cf689a4336af05c9f259d909d8141055bac;p=openldap diff --git a/servers/slapd/mr.c b/servers/slapd/mr.c index 32165263fb..4ca235e7e5 100644 --- a/servers/slapd/mr.c +++ b/servers/slapd/mr.c @@ -169,6 +169,7 @@ mr_add( for( i=0; def->mrd_compat_syntaxes[i]; i++ ) { compat_syn[i] = syn_find( def->mrd_compat_syntaxes[i] ); if( compat_syn[i] == NULL ) { + ch_free( compat_syn ); return SLAP_SCHERR_SYN_NOT_FOUND; } } @@ -198,10 +199,12 @@ mr_add( smr->smr_syntax = syn; } else { *err = smr->smr_syntax_oid; + ch_free( smr ); return SLAP_SCHERR_SYN_NOT_FOUND; } } else { *err = ""; + ch_free( smr ); return SLAP_SCHERR_MR_INCOMPLETE; } code = mr_insert(smr,err);