VERSION.sh | 2 -
ldap/servers/slapd/back-ldbm/index.c | 38 +++++++++++++++++------------------
2 files changed, 20 insertions(+), 20 deletions(-)
New commits:
commit edcd811a547cb9ec9bb68af54a6373377a61c65c
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Mon Jun 18 18:20:58 2012 -0600
bump version to 1.2.10.10
diff --git a/VERSION.sh b/VERSION.sh
index 76d5d16..1fdb59e 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=2
-VERSION_MAINT=10.8
+VERSION_MAINT=10.10
# if this is a PRERELEASE, set VERSION_PREREL
# otherwise, comment it out
# be sure to include the dot prefix in the prerel
commit b5468c98a4f462332e4f46511f07de23d6917f2a
Author: Noriko Hosoi <nhosoi(a)totoro.usersys.redhat.com>
Date: Fri Jun 15 11:33:49 2012 -0700
Ticket #390 - [abrt] 389-ds-base-1.2.10.6-1.fc16: slapi_attr_value_cmp: Process
/usr/sbin/ns-slapd was killed by signal 11 (SIGSEGV)
https://fedorahosted.org/389/ticket/390
Bug Description: When a conflict occurred and an attribute to add
in the mods is deleted by another master, the conflict checking
code failed to detect it.
Fix Description: Addng the NULL check to the conflict checking
code. If it is found NULL, the conflict check is skipped and the
index update call is skipped, as well.
diff --git a/ldap/servers/slapd/back-ldbm/index.c b/ldap/servers/slapd/back-ldbm/index.c
index da1952e..cc0900f 100644
--- a/ldap/servers/slapd/back-ldbm/index.c
+++ b/ldap/servers/slapd/back-ldbm/index.c
@@ -617,34 +617,34 @@ index_add_mods(
/* Free valuearray */
slapi_valueset_free(mod_vals);
case LDAP_MOD_ADD:
- if ( mods_valueArray == NULL ) {
- rc = 0;
- } else {
+ rc = 0;
+ if (mods_valueArray) {
/* Verify if the value is in newe.
* If it is in, we will add the attr value to the index file. */
slapi_entry_attr_find( newe->ep_entry,
mods[i]->mod_type, &curr_attr );
- for (j = 0; mods_valueArray[j] != NULL; j++) {
- /* mods_valueArray[j] is in curr_attr ==> return 0 */
- if (slapi_attr_value_find(curr_attr,
+ if (curr_attr) {
+ for (j = 0; mods_valueArray[j] != NULL; j++) {
+ /* mods_valueArray[j] is in curr_attr ==> return 0 */
+ if (slapi_attr_value_find(curr_attr,
slapi_value_get_berval(mods_valueArray[j]))) {
- /* The value is NOT in newe, remove it. */
- Slapi_Value *rval = valuearray_remove_value(curr_attr,
+ /* The value is NOT in newe, remove it. */
+ Slapi_Value *rval =
+ valuearray_remove_value(curr_attr,
mods_valueArray,
mods_valueArray[j]);
- slapi_value_free( &rval );
- /* indicates there was some conflict */
- mods[i]->mod_op |= LDAP_MOD_IGNORE;
+ slapi_value_free( &rval );
+ /* indicates there was some conflict */
+ mods[i]->mod_op |= LDAP_MOD_IGNORE;
+ }
+ }
+ if (mods_valueArray) {
+ rc = index_addordel_values_sv( be,
+ mods[i]->mod_type,
+ mods_valueArray, NULL,
+ id, BE_INDEX_ADD, txn );
}
- }
- if (mods_valueArray) {
- rc = index_addordel_values_sv( be,
- mods[i]->mod_type,
- mods_valueArray, NULL,
- id, BE_INDEX_ADD, txn );
- } else {
- rc = 0;
}
}
break;