[DTrace-devel] [PATCH] Fix memory leak of list of dependent probes

Kris Van Hees kris.van.hees at oracle.com
Thu May 18 16:54:48 UTC 2023


Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
---
 libdtrace/dt_probe.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libdtrace/dt_probe.c b/libdtrace/dt_probe.c
index 5cf5fe27..3ed0cab9 100644
--- a/libdtrace/dt_probe.c
+++ b/libdtrace/dt_probe.c
@@ -469,6 +469,7 @@ dt_probe_destroy(dt_probe_t *prp)
 {
 	dt_probe_clause_t	*pcp, *pcp_next;
 	dt_probe_instance_t	*pip, *pip_next;
+	dt_probe_dependent_t	*dep, *dep_next;
 	dtrace_hdl_t		*dtp;
 
 	if (prp->prov != NULL)
@@ -500,6 +501,11 @@ dt_probe_destroy(dt_probe_t *prp)
 		dt_free(dtp, pcp);
 	}
 
+	for (dep = dt_list_next(&prp->dependents); dep != NULL; dep = dep_next) {
+		dep_next = dt_list_next(dep);
+		dt_free(dtp, dep);
+	}
+
 	for (pip = prp->pr_inst; pip != NULL; pip = pip_next) {
 		pip_next = pip->pi_next;
 		dt_free(dtp, pip->pi_offs);
-- 
2.40.1




More information about the DTrace-devel mailing list