From d8237d43b264b413e241ac2c0a170b5dc66e24bc Mon Sep 17 00:00:00 2001 From: Thierry Bordaz Date: Oct 08 2019 08:34:04 +0000 Subject: Bug 1746830: Memory leak during search of idview overrides During a search on a idview with override attributes, the valueset used to retrieve the original values of the original attribute needs to be freed once added to the overridden entry An other leak also related to idview override is when idview_replace_target_dn replaces the target DN. It does not free the previous target DN. --- diff --git a/src/back-sch-idview.c b/src/back-sch-idview.c index 6769e8d..a0e0ac7 100644 --- a/src/back-sch-idview.c +++ b/src/back-sch-idview.c @@ -180,6 +180,7 @@ idview_process_overrides(struct backend_search_cbdata *cbdata, } result = slapi_attr_get_valueset(override_attr, &override_valueset); result = slapi_entry_add_valueset(entry, override_type, override_valueset); + slapi_valueset_free(override_valueset); } result = slapi_entry_next_attr(override_entry, override_attr, &override_attr); } @@ -287,6 +288,7 @@ idview_replace_target_dn(char **target, char **idview) new_target = slapi_ch_smprintf("%s", cnviews+10); } cnviews[0] = ','; + slapi_ch_free_string(target); *target = new_target; } }