mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-01 20:49:35 -05:00
Clean up bdb_entry_release / bdb_entry_return
This commit is contained in:
parent
f4f1d1b164
commit
109307547e
1 changed files with 7 additions and 11 deletions
|
|
@ -149,7 +149,12 @@ int bdb_entry_return(
|
|||
if( (void *) e->e_attrs != (void *) (e+1)) {
|
||||
attrs_free( e->e_attrs );
|
||||
}
|
||||
if( e->e_private ) {
|
||||
#ifdef BDB_HIER
|
||||
/* We had to construct the dn and ndn as well, in a single block */
|
||||
free( e->e_dn );
|
||||
#endif
|
||||
/* In tool mode the e_private buffer is realloc'd, leave it alone */
|
||||
if( e->e_private && !(slapMode & SLAP_TOOL_MODE) ) {
|
||||
free( e->e_private );
|
||||
}
|
||||
|
||||
|
|
@ -165,14 +170,5 @@ int bdb_entry_release(
|
|||
Entry *e,
|
||||
int rw )
|
||||
{
|
||||
/* A tool will call this with NULL Connection and Operation
|
||||
* pointers. We don't need to free the e_private in that case,
|
||||
* because the tool is getting entries into a realloc'd
|
||||
* buffer.
|
||||
*/
|
||||
if( c && o ) {
|
||||
return bdb_entry_return( be, e );
|
||||
} else {
|
||||
free( e );
|
||||
}
|
||||
return bdb_entry_return( be, e );
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue