]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/rwm.c
check for ee == NULL
[openldap] / servers / slapd / overlays / rwm.c
index ac430f20e8ae6a3634b8129571db947dc3ebdecf..ed9fbfa9bb20377093a0a18dfda2fcd3403357d1 100644 (file)
@@ -868,6 +868,27 @@ rwm_exop_passwd( Operation *op, SlapReply *rs )
                return -1;
        }
 
+       ber = ber_alloc_t( LBER_USE_DER );
+       if ( !ber ) {
+               rs->sr_err = LDAP_OTHER;
+               rs->sr_text = "No memory";
+               return rs->sr_err;
+       }
+       ber_printf( ber, "{" );
+       if ( !BER_BVISNULL( &id )) {
+               ber_printf( ber, "tO", LDAP_TAG_EXOP_MODIFY_PASSWD_ID, 
+                       &op->o_req_dn );
+       }
+       if ( !BER_BVISNULL( &pwold )) {
+               ber_printf( ber, "tO", LDAP_TAG_EXOP_MODIFY_PASSWD_OLD, &pwold );
+       }
+       if ( !BER_BVISNULL( &pwnew )) {
+               ber_printf( ber, "tO", LDAP_TAG_EXOP_MODIFY_PASSWD_NEW, &pwnew );
+       }
+       ber_printf( ber, "N}" );
+       ber_flatten( ber, &op->ore_reqdata );
+       ber_free( ber, 1 );
+
        op->o_callback = &roc->cb;
 
        return SLAP_CB_CONTINUE;