VERSION.sh | 2 +-
ldap/servers/slapd/modify.c | 4 ----
2 files changed, 1 insertion(+), 5 deletions(-)
New commits:
commit bdca4155dda5c01ddca4e1c9d5694c6b0b41df87
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Aug 28 14:29:22 2013 -0700
bump version to 1.3.0.8
diff --git a/VERSION.sh b/VERSION.sh
index a22b290..e949dae 100644
--- a/VERSION.sh
+++ b/VERSION.sh
@@ -10,7 +10,7 @@ vendor="389 Project"
# PACKAGE_VERSION is constructed from these
VERSION_MAJOR=1
VERSION_MINOR=3
-VERSION_MAINT=0.7
+VERSION_MAINT=0.8
# if this is a PRERELEASE, set VERSION_PREREL
# otherwise, comment it out
# be sure to include the dot prefix in the prerel
commit 14644c588032626f6f63b8fe4a897e98a212a763
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Fri Aug 23 14:16:29 2013 -0600
Bug 999634 - ns-slapd crash due to bogus DN
https://bugzilla.redhat.com/show_bug.cgi?id=999634
Reviewed by: ???
Branch: 389-ds-base-1.3.0
Fix Description: When the target DN is not a valid DN, the code will bypass
the initialization of unhashed_pw_smod, and attempt to call slapi_smods_done.
Depending on what memory is in the unhashed_pw_smod, if both mods and
free_mods are true, an attempt will be made to free mods or *mods and the
server will crash. It is tricky to find the right sequence of operations
that will write the stack in such a way that both unhashed_pw_smod.mods
and unhashed_pw_smod.free_mods are set.
The fix is to just get rid of unhashed_pw_smod which is not used.
I also check this code and other operation code for similar cases, but the
rest of the code is clean.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
(cherry picked from commit a3d65ac00df871675896f587b0da2c24eab961bb)
diff --git a/ldap/servers/slapd/modify.c b/ldap/servers/slapd/modify.c
index be8b9b8..5d1fa19 100644
--- a/ldap/servers/slapd/modify.c
+++ b/ldap/servers/slapd/modify.c
@@ -643,7 +643,6 @@ static void op_shared_modify (Slapi_PBlock *pb, int pw_change, char
*old_pw)
int passin_sdn = 0;
LDAPMod **mods, *pw_mod, **tmpmods = NULL;
Slapi_Mods smods;
- Slapi_Mods unhashed_pw_smod;
int repl_op, internal_op, lastmod, skip_modified_attrs;
char *unhashed_pw_attr = NULL;
Slapi_Operation *operation;
@@ -682,8 +681,6 @@ static void op_shared_modify (Slapi_PBlock *pb, int pw_change, char
*old_pw)
slapi_mods_init_passin (&smods, mods);
- slapi_mods_init(&unhashed_pw_smod, 0);
-
/* target spec is used to decide which plugins are applicable for the operation */
operation_set_target_spec (pb->pb_op, sdn);
@@ -1128,7 +1125,6 @@ free_and_return:
if (be)
slapi_be_Unlock(be);
- slapi_mods_done(&unhashed_pw_smod); /* can finalize now */
if (unhashed_pw_attr)
slapi_ch_free ((void**)&unhashed_pw_attr);