summaryrefslogtreecommitdiffstats
path: root/ldap/servers/plugins/replication/windows_protocol_util.c
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2009-02-04 20:40:34 +0000
committerRich Megginson <rmeggins@redhat.com>2009-02-04 20:40:34 +0000
commit0fb5cccfabffd94b3ebec2a0c24423741c0733e1 (patch)
tree2e580ca072fa9a05eda034485fe0037584646df9 /ldap/servers/plugins/replication/windows_protocol_util.c
parent3f6d361abb785011546604fdf4c052ce4abb3e47 (diff)
downloadds-0fb5cccfabffd94b3ebec2a0c24423741c0733e1.tar.gz
ds-0fb5cccfabffd94b3ebec2a0c24423741c0733e1.tar.xz
ds-0fb5cccfabffd94b3ebec2a0c24423741c0733e1.zip
Resolves: bug 483256
Bug Description: DS crash when modify entry that does not exist in AD Reviewed by: nkinder (Thanks!) Fix Description: The function that checks to see if the mod has already been made to the AD entry should just return 0 if the AD entry does not exist or could not be found - in this case, the regular windows replay code will handle it. Platforms tested: RHEL5 Flag Day: no Doc impact: no
Diffstat (limited to 'ldap/servers/plugins/replication/windows_protocol_util.c')
-rw-r--r--ldap/servers/plugins/replication/windows_protocol_util.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ldap/servers/plugins/replication/windows_protocol_util.c b/ldap/servers/plugins/replication/windows_protocol_util.c
index 7e00e106..8cd5bdfa 100644
--- a/ldap/servers/plugins/replication/windows_protocol_util.c
+++ b/ldap/servers/plugins/replication/windows_protocol_util.c
@@ -1817,6 +1817,14 @@ mod_already_made(Private_Repl_Protocol *prp, Slapi_Mod *smod)
return 1;
}
+ if (!ad_entry) { /* mods cannot already have been made */
+ slapi_log_error(SLAPI_LOG_REPL, repl_plugin_name,
+ "%s: mod_already_made: "
+ "AD entry not found\n",
+ agmt_get_long_name(prp->agmt));
+ return retval; /* just allow - will probably fail later if entry really doesn't exist */
+ }
+
op = slapi_mod_get_operation(smod);
type = slapi_mod_get_type(smod);
if (SLAPI_IS_MOD_ADD(op)) { /* make sure value is not there */