mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 00:29:35 -05:00
ITS#7143 fix attr_dup2 when no values are present (attrsOnly = TRUE)
This commit is contained in:
parent
eace24ef33
commit
463c1fa25d
1 changed files with 9 additions and 6 deletions
|
|
@ -232,13 +232,16 @@ attr_dup2( Attribute *tmp, Attribute *a )
|
|||
if ( a->a_nvals != a->a_vals ) {
|
||||
|
||||
tmp->a_nvals = ch_malloc( (tmp->a_numvals + 1) * sizeof(struct berval) );
|
||||
for ( j = 0; !BER_BVISNULL( &a->a_nvals[j] ); j++ ) {
|
||||
assert( j < i );
|
||||
ber_dupbv( &tmp->a_nvals[j], &a->a_nvals[j] );
|
||||
if ( BER_BVISNULL( &tmp->a_nvals[j] ) ) break;
|
||||
/* FIXME: error? */
|
||||
j = 0;
|
||||
if ( i ) {
|
||||
for ( ; !BER_BVISNULL( &a->a_nvals[j] ); j++ ) {
|
||||
assert( j < i );
|
||||
ber_dupbv( &tmp->a_nvals[j], &a->a_nvals[j] );
|
||||
if ( BER_BVISNULL( &tmp->a_nvals[j] ) ) break;
|
||||
/* FIXME: error? */
|
||||
}
|
||||
assert( j == i );
|
||||
}
|
||||
assert( j == i );
|
||||
BER_BVZERO( &tmp->a_nvals[j] );
|
||||
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in a new issue