mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-07 14:18:15 +08:00
Clean up entry_free()
assert of e_private was not freed by caller
This commit is contained in:
parent
383391b460
commit
aa983f343e
@ -320,8 +320,14 @@ entry2str(
|
||||
void
|
||||
entry_free( Entry *e )
|
||||
{
|
||||
Attribute *a, *next;
|
||||
/* free an entry structure */
|
||||
assert( e != NULL );
|
||||
|
||||
/* e_private must be freed by the caller */
|
||||
assert( e->e_private == NULL );
|
||||
e->e_private = NULL;
|
||||
|
||||
/* free DNs */
|
||||
if ( e->e_dn != NULL ) {
|
||||
free( e->e_dn );
|
||||
e->e_dn = NULL;
|
||||
@ -330,12 +336,11 @@ entry_free( Entry *e )
|
||||
free( e->e_ndn );
|
||||
e->e_ndn = NULL;
|
||||
}
|
||||
for ( a = e->e_attrs; a != NULL; a = next ) {
|
||||
next = a->a_next;
|
||||
attr_free( a );
|
||||
}
|
||||
|
||||
/* free attributes */
|
||||
attrs_free( e->e_attrs );
|
||||
e->e_attrs = NULL;
|
||||
e->e_private = NULL;
|
||||
|
||||
free( e );
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user