[DTrace-devel] [PATCH 2/3] cg: validate tstring alloc/free
Kris Van Hees
kris.van.hees at oracle.com
Tue Jul 15 19:50:49 UTC 2025
Rather than undiscriminantly resetting tstring allocations at the
beginning of a compilation, actually verify that alloc/free of
tstrings is done correctly, i.e. that none are left allocated after
compilation is done.
Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
---
libdtrace/dt_cg.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/libdtrace/dt_cg.c b/libdtrace/dt_cg.c
index bd0763d6..6c7ad076 100644
--- a/libdtrace/dt_cg.c
+++ b/libdtrace/dt_cg.c
@@ -1432,11 +1432,12 @@ dt_cg_tstring_reset(dtrace_hdl_t *dtp)
ts = dtp->dt_tstrings;
for (i = 0; i < DT_TSTRING_SLOTS; i++, ts++)
ts->offset = i * size;
+ } else {
+ /* Ensure that all allocated tstrings were freed correctly. */
+ ts = dtp->dt_tstrings;
+ for (i = 0; i < DT_TSTRING_SLOTS; i++, ts++)
+ assert(ts->in_use == 0);
}
-
- ts = dtp->dt_tstrings;
- for (i = 0; i < DT_TSTRING_SLOTS; i++, ts++)
- ts->in_use = 0;
}
/*
--
2.45.2
More information about the DTrace-devel
mailing list