From b1dd809580602b90b98071781c8cd9d6b3e4fdb9 Mon Sep 17 00:00:00 2001
From: Quanah Gibson-Mount <quanah@openldap.org>
Date: Thu, 1 Jul 2010 22:39:54 +0000
Subject: [PATCH] ITS#6581

---
 CHANGES                | 1 +
 servers/slapd/modify.c | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/CHANGES b/CHANGES
index f4eb816084..43a95c5f87 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,7 @@
 OpenLDAP 2.4 Change Log
 
 OpenLDAP 2.4.24 Engineering
+	Fixed slapd modify to return actual error (ITS#6581)
 	Fixed slapd-bdb entry cache delete failure (ITS#6577)
 
 OpenLDAP 2.4.23 Release (2010/06/30)
diff --git a/servers/slapd/modify.c b/servers/slapd/modify.c
index f8c6394b40..3b5f7271a0 100644
--- a/servers/slapd/modify.c
+++ b/servers/slapd/modify.c
@@ -82,12 +82,14 @@ do_modify(
 	if ( rs->sr_err != LDAP_SUCCESS ) {
 		Debug( LDAP_DEBUG_ANY, "%s do_modify: slap_parse_modlist failed err=%d msg=%s\n",
 			op->o_log_prefix, rs->sr_err, rs->sr_text );
+		send_ldap_result( op, rs );
 		goto cleanup;
 	}
 
 	if( get_ctrls( op, rs, 1 ) != LDAP_SUCCESS ) {
 		Debug( LDAP_DEBUG_ANY, "%s do_modify: get_ctrls failed\n",
 			op->o_log_prefix, 0, 0 );
+		/* get_ctrls has sent results.	Now clean up. */
 		goto cleanup;
 	}
 
-- 
GitLab