From 4213f42555a62b565ff99e0ad3e7d3c7f5495180 Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Wed, 21 Dec 2022 21:02:43 -0800 Subject: Make sure TracePoint#binding returns nil for c_call/c_return events This makes sure the method returns nil for these events, as described in NEWS, even if the TracePoint could create a binding. --- vm_trace.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'vm_trace.c') diff --git a/vm_trace.c b/vm_trace.c index ea1d47361d..69b360dae9 100644 --- a/vm_trace.c +++ b/vm_trace.c @@ -961,6 +961,11 @@ VALUE rb_tracearg_binding(rb_trace_arg_t *trace_arg) { rb_control_frame_t *cfp; + switch (trace_arg->event) { + case RUBY_EVENT_C_CALL: + case RUBY_EVENT_C_RETURN: + return Qnil; + } cfp = rb_vm_get_binding_creatable_next_cfp(trace_arg->ec, trace_arg->cfp); if (cfp && imemo_type_p((VALUE)cfp->iseq, imemo_iseq)) { -- cgit v1.2.1