From 681799da65a90dff6750efb9c0a9faf5433e2137 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Tue, 15 Jun 2021 11:19:21 +0100 Subject: [PATCH] ITS#9472 Fix cn=config memory leaks in slapo-datamorph --- contrib/slapd-modules/datamorph/datamorph.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/contrib/slapd-modules/datamorph/datamorph.c b/contrib/slapd-modules/datamorph/datamorph.c index 164f81d23a..2f32c92399 100644 --- a/contrib/slapd-modules/datamorph/datamorph.c +++ b/contrib/slapd-modules/datamorph/datamorph.c @@ -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; -- 2.47.3