X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fava.c;h=e0fdd8bb2e8decf242ae5c381d37f9d9d83996f9;hb=104f8cc409822fcdf5aa98ae14f738d869e00eb5;hp=0d96d8bc59248de059df5085582f09b04f3c373a;hpb=0e2af54a3ffdeebe3901370683be56fcc53023b0;p=openldap diff --git a/servers/slapd/ava.c b/servers/slapd/ava.c index 0d96d8bc59..e0fdd8bb2e 100644 --- a/servers/slapd/ava.c +++ b/servers/slapd/ava.c @@ -36,15 +36,15 @@ get_ava( ) { int rc; + ber_tag_t rtag; struct berval type, value; AttributeAssertion *aa; - rc = ber_scanf( ber, "{oo}", &type, &value ); + rtag = ber_scanf( ber, "{mm}", &type, &value ); - if( rc == LBER_ERROR ) { + if( rtag == LBER_ERROR ) { #ifdef NEW_LOGGING - LDAP_LOG(( "filter", LDAP_LEVEL_ERR, - "get_ava: ber_scanf failure\n" )); + LDAP_LOG( FILTER, ERR, "get_ava: ber_scanf failure\n", 0, 0, 0 ); #else Debug( LDAP_DEBUG_ANY, " get_ava ber_scanf\n", 0, 0, 0 ); #endif @@ -57,16 +57,14 @@ get_ava( aa->aa_value.bv_val = NULL; rc = slap_bv2ad( &type, &aa->aa_desc, text ); - ch_free( type.bv_val ); if( rc != LDAP_SUCCESS ) { - ch_free( value.bv_val ); ch_free( aa ); return rc; } - rc = value_normalize( aa->aa_desc, usage, &value, &aa->aa_value, text ); - ch_free( value.bv_val ); + rc = value_validate_normalize( aa->aa_desc, usage, + &value, &aa->aa_value, text ); if( rc != LDAP_SUCCESS ) { ch_free( aa );