char txtbuf[SLAP_TEXT_BUFLEN];
size_t textlen = sizeof txtbuf;
- struct berval bdn = {0, NULL}, dn, ndn;
+ struct berval bdn = BER_BVNULL, dn, ndn;
int rc;
*modlist = NULL;
op->o_tag = LDAP_REQ_ADD;
rc = ldap_get_dn_ber( si->si_ld, msg, &ber, &bdn );
-
if ( rc != LDAP_SUCCESS ) {
Debug( LDAP_DEBUG_ANY,
"syncrepl_message_to_entry: rid %03ld dn get failed (%d)",
slap_sl_free( dn.bv_val, op->o_tmpmemctx );
if ( syncstate == LDAP_SYNC_PRESENT || syncstate == LDAP_SYNC_DELETE ) {
- if ( entry )
- *entry = NULL;
- return LDAP_SUCCESS;
+ /* NOTE: this could be done even before decoding the DN,
+ * although encoding errors wouldn't be detected */
+ rc = LDAP_SUCCESS;
+ goto done;
}
if ( entry == NULL ) {
- return -1;
+ rc = -1;
+ goto done;
}
e = entry_alloc();
}
done:
- ber_free ( ber, 0 );
+ ber_free( ber, 0 );
if ( rc != LDAP_SUCCESS ) {
if ( e ) {
entry_free( e );