summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/back-ldbm
diff options
context:
space:
mode:
authorNathan Kinder <nkinder@redhat.com>2007-09-28 22:54:16 +0000
committerNathan Kinder <nkinder@redhat.com>2007-09-28 22:54:16 +0000
commit55fc8e4dc7d4b1d90f45637f8679325ce198c278 (patch)
tree5825ef3ef63b92f21d72a5176e278ba5445806ed /ldap/servers/slapd/back-ldbm
parent4f9128fd0a5c76b4bed83a194cadd68ba47ed9e6 (diff)
downloadds-55fc8e4dc7d4b1d90f45637f8679325ce198c278.tar.gz
ds-55fc8e4dc7d4b1d90f45637f8679325ce198c278.tar.xz
ds-55fc8e4dc7d4b1d90f45637f8679325ce198c278.zip
Resolves: 219586
Summary: Fixed leak of Slapi_Value in index code.
Diffstat (limited to 'ldap/servers/slapd/back-ldbm')
-rw-r--r--ldap/servers/slapd/back-ldbm/index.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/ldap/servers/slapd/back-ldbm/index.c b/ldap/servers/slapd/back-ldbm/index.c
index ebd4d27d..dab71e28 100644
--- a/ldap/servers/slapd/back-ldbm/index.c
+++ b/ldap/servers/slapd/back-ldbm/index.c
@@ -535,7 +535,8 @@ index_add_mods(
slapi_entry_attr_find( olde->ep_entry, mods[i]->mod_type, &curr_attr );
if ( mods_valueArray != NULL ) {
for ( j = 0; mods_valueArray[j] != NULL; j++ ) {
- valuearray_remove_value(curr_attr, evals, mods_valueArray[j]);
+ Slapi_Value *rval = valuearray_remove_value(curr_attr, evals, mods_valueArray[j]);
+ slapi_value_free( &rval );
}
}
@@ -549,7 +550,8 @@ index_add_mods(
}
} else {
/* Remove duplicate value from deleted value array */
- valuearray_remove_value(curr_attr, deleted_valueArray, deleted_valueArray[j]);
+ Slapi_Value *rval = valuearray_remove_value(curr_attr, deleted_valueArray, deleted_valueArray[j]);
+ slapi_value_free( &rval );
j--;
}
}
@@ -615,7 +617,8 @@ index_add_mods(
}
} else {
/* Remove duplicate value from the mod list */
- valuearray_remove_value(curr_attr, deleted_valueArray, deleted_valueArray[j]);
+ Slapi_Value *rval = valuearray_remove_value(curr_attr, deleted_valueArray, deleted_valueArray[j]);
+ slapi_value_free( &rval );
j--;
}
}