Author: nkinder
Update of /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4287
Modified Files:
index.c
Log Message:
Resolves: 219586
Summary: Fixed leak of Slapi_Value in index code.
Index: index.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/index.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- index.c 10 Nov 2006 23:45:39 -0000 1.10
+++ index.c 28 Sep 2007 22:54:16 -0000 1.11
@@ -535,7 +535,8 @@
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 @@
}
} 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 @@
}
} 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--;
}
}