X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fava.c;h=0864a9b9c5a6d37d689712ac005503b1ee033343;hb=4aa2a2869219880c9a76d9c0ae163a7ff7a51d4e;hp=69157a954a278a91bc1bf4acf94f4573872ae089;hpb=f49fd8a98e6849f74e50a01165f4214b065b9b00;p=openldap diff --git a/servers/slapd/ava.c b/servers/slapd/ava.c index 69157a954a..0864a9b9c5 100644 --- a/servers/slapd/ava.c +++ b/servers/slapd/ava.c @@ -21,8 +21,7 @@ ava_free( int freeit ) { - ad_free( ava->aa_desc, 1 ); - ber_bvfree( ava->aa_value ); + free( ava->aa_value.bv_val ); if ( freeit ) { ch_free( (char *) ava ); } @@ -37,7 +36,7 @@ get_ava( ) { int rc; - struct berval type, value, *nvalue; + struct berval type, value; AttributeAssertion *aa; rc = ber_scanf( ber, "{oo}", &type, &value ); @@ -55,7 +54,7 @@ get_ava( aa = ch_malloc( sizeof( AttributeAssertion ) ); aa->aa_desc = NULL; - aa->aa_value = NULL; + aa->aa_value.bv_val = NULL; rc = slap_bv2ad( &type, &aa->aa_desc, text ); ch_free( type.bv_val ); @@ -66,18 +65,15 @@ get_ava( return rc; } - rc = value_normalize( aa->aa_desc, usage, &value, &nvalue, text ); + rc = value_normalize( aa->aa_desc, usage, &value, &aa->aa_value, text ); ch_free( value.bv_val ); if( rc != LDAP_SUCCESS ) { - ad_free( aa->aa_desc, 1 ); ch_free( aa ); return rc; } - aa->aa_value = nvalue; *ava = aa; return LDAP_SUCCESS; } -