ITS#9472 Fix cn=config memory leaks in slapo-datamorph

This commit is contained in:
Ondřej Kuzník 2021-06-15 11:19:21 +01:00 committed by Quanah Gibson-Mount
parent 006ca73d83
commit 681799da65

View file

@ -1772,12 +1772,12 @@ datamorph_ldadd_info_cleanup( ConfigArgs *ca )
transformation_info *info = ca->ca_private;
if ( ca->reply.err != LDAP_SUCCESS ) {
ch_free( info );
return LDAP_SUCCESS;
}
if ( ldap_avl_insert( &ov->transformations, info, transformation_info_cmp,
ldap_avl_dup_error ) ) {
ch_free( info );
return LDAP_CONSTRAINT_VIOLATION;
}
return LDAP_SUCCESS;
@ -1828,12 +1828,14 @@ datamorph_ldadd_mapping_cleanup( ConfigArgs *ca )
transformation_info *info = mapping->transformation;
if ( ca->reply.err != LDAP_SUCCESS ) {
if ( mapping ) {
datamorph_mapping_free( mapping );
}
return LDAP_SUCCESS;
}
if ( ldap_avl_insert( &info->ti_enum.to_db, mapping, transformation_mapping_cmp,
ldap_avl_dup_error ) ) {
datamorph_mapping_free( mapping );
return LDAP_CONSTRAINT_VIOLATION;
}
info->ti_enum.from_db[mapping->db_value] = mapping->wire_value;