From 75e74993916e9abda1a74164fed5b59fc3d9b7ce Mon Sep 17 00:00:00 2001 From: nagachika Date: Sat, 6 Nov 2021 16:47:07 +0900 Subject: merge revision(s) a4d5ee4f31bf3ff36c1a8c8fe3cda16aa1016b12: [Backport #18264] [Bug #18264] Fix memory leak in TracePoint TracePoint leaks memory because it allocates a `rb_tp_t` struct without ever freeing it (it is created with `RUBY_TYPED_NEVER_FREE`). --- test/ruby/test_settracefunc.rb | 10 ++++++++++ vm_trace.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) --- vm_trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vm_trace.c') diff --git a/vm_trace.c b/vm_trace.c index 06879812b3..b16ec77e5a 100644 --- a/vm_trace.c +++ b/vm_trace.c @@ -730,7 +730,7 @@ tp_memsize(const void *ptr) static const rb_data_type_t tp_data_type = { "tracepoint", - {tp_mark, RUBY_TYPED_NEVER_FREE, tp_memsize,}, + {tp_mark, RUBY_TYPED_DEFAULT_FREE, tp_memsize,}, 0, 0, RUBY_TYPED_FREE_IMMEDIATELY }; -- cgit v1.2.3