X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fmra.c;h=54dde3964ee2b4e8bc5527705727094148ac450c;hb=58886b6a9c7c6b8e9e829fe24fe057e5a77b6117;hp=b518e72735f5d3e1eb499fc2b5f530ebb03464c2;hpb=3492452a5b808aae97b8072a7a49f15e3a9a199d;p=openldap diff --git a/servers/slapd/mra.c b/servers/slapd/mra.c index b518e72735..54dde3964e 100644 --- a/servers/slapd/mra.c +++ b/servers/slapd/mra.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2004 The OpenLDAP Foundation. + * Copyright 1998-2006 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -57,13 +57,11 @@ get_mra( struct berval type = BER_BVNULL; struct berval value = BER_BVNULL; struct berval rule_text = BER_BVNULL; - MatchingRuleAssertion ma; + MatchingRuleAssertion ma = { 0 }; #ifdef LDAP_COMP_MATCH AttributeAliasing* aa = NULL; #endif - memset( &ma, 0, sizeof ma); - rtag = ber_scanf( ber, "{t" /*"}"*/, &tag ); if( rtag == LBER_ERROR ) { @@ -143,7 +141,12 @@ get_mra( if( type.bv_val != NULL ) { rc = slap_bv2ad( &type, &ma.ma_desc, text ); if( rc != LDAP_SUCCESS ) { - return rc; + rc = slap_bv2undef_ad( &type, &ma.ma_desc, text, + SLAP_AD_PROXIED|SLAP_AD_NOINSERT ); + + if( rc != LDAP_SUCCESS ) { + return rc; + } } }