}
if ( mapped_vals[ 0 ].bv_val != op->orc_ava->aa_value.bv_val ) {
- ber_bvreplace_x( &op->orc_ava->aa_value, &mapped_vals[0],
+ /* NOTE: if we get here, rwm_dnattr_rewrite()
+ * already freed the old value, so now
+ * it's invalid */
+ ber_dupbv_x( &op->orc_ava->aa_value, &mapped_vals[0],
op->o_tmpmemctx );
ber_memfree_x( mapped_vals[ 0 ].bv_val, NULL );
}