Skip to content
Snippets Groups Projects
Commit 439e3b2b authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Import add fix

parent baadd353
No related branches found
No related tags found
No related merge requests found
......@@ -446,16 +446,32 @@ slap_mods2entry(
/* should check for duplicates */
AC_MEMCPY( &attr->a_vals[i], mods->sml_values,
sizeof( struct berval ) * j );
if ( dup ) {
for ( j = 0; mods->sml_values[j].bv_val; j++ ) {
ber_dupbv( &attr->a_vals[i+j], &mods->sml_values[j] );
}
BER_BVZERO( &attr->a_vals[i+j] );
} else {
AC_MEMCPY( &attr->a_vals[i], mods->sml_values,
sizeof( struct berval ) * j );
ch_free( mods->sml_values );
mods->sml_values = NULL;
}
if( mods->sml_nvalues ) {
attr->a_nvals = ch_realloc( attr->a_nvals,
sizeof( struct berval ) * (i+j) );
AC_MEMCPY( &attr->a_nvals[i], mods->sml_nvalues,
sizeof( struct berval ) * j );
if ( dup ) {
for ( j = 0; mods->sml_nvalues[j].bv_val; j++ ) {
ber_dupbv( &attr->a_nvals[i+j], &mods->sml_nvalues[j] );
}
BER_BVZERO( &attr->a_nvals[i+j] );
} else {
AC_MEMCPY( &attr->a_nvals[i], mods->sml_nvalues,
sizeof( struct berval ) * j );
ch_free( mods->sml_nvalues );
mods->sml_nvalues = NULL;
}
} else {
attr->a_nvals = attr->a_vals;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment