int rc;
if ( strcmp( c->argv[ 1 ], "*" ) == 0
- || strcmp( c->argv[ 1 ], ".*" ) == 0
|| strcmp( c->argv[ 1 ], "dn:*" ) == 0
|| strcasecmp( c->argv[ 1 ], "dn.regex:.*" ) == 0 )
{
if ( !BER_BVISEMPTY( &bc )) {
bv2.bv_len = bv.bv_len + bc.bv_len + 1;
- bv2.bv_val = ch_malloc(bv2.bv_len + 1 );
+ bv2.bv_val = ch_malloc( bv2.bv_len + 1 );
strcpy( bv2.bv_val, bv.bv_val );
bv2.bv_val[bv.bv_len] = ' ';
- strcpy( bv2.bv_val+bv.bv_len+1, bc.bv_val );
+ strcpy( &bv2.bv_val[bv.bv_len + 1], bc.bv_val );
ber_bvarray_add( &c->rvalue_vals, &bv2 );
+
} else {
value_add_one( &c->rvalue_vals, &bv );
}
+ ber_memfree( bc.bv_val );
}
break;
li->li_flags &= ~LDAP_BACK_F_TLS_MASK;
li->li_flags |= tls_mode[i].mask;
if ( c->argc > 2 ) {
- for ( i=0; i<c->argc; i++ ) {
+ for ( i=2; i<c->argc; i++ ) {
if ( bindconf_tls_parse( c->argv[i], &li->li_tls ))
return 1;
}
}
if ( lc != NULL ) {
- ldap_back_release_conn( &op2, rs, lc );
+ ldap_back_release_conn( (ldapinfo_t *)op2.o_bd->be_private, lc );
}
} else {