--- t/lib/Test/Valgrind/Test/Action.pm +++ t/lib/Test/Valgrind/Test/Action.pm @@ -41,11 +41,14 @@ sub report_smart { if ($report->can('is_leak') and $report->is_leak) { my $data = $report->data; my @trace = map $_->[2] || '?', - @{$data->{stack} || []}[0 .. 3]; + @{$data->{stack} || []}[0 .. 4]; my $valid_trace = ( $trace[0] eq 'malloc' and $trace[1] eq 'tv_leak' - and ($trace[2] eq 'Perl_pp_entersub' or $trace[3] eq 'Perl_pp_entersub') + and ( ($trace[2] eq 'Perl_pp_entersub' or $trace[3] eq 'Perl_pp_entersub') or + # Perl_pp_entersub symbol not appearing in 5.38.0 but these symbols appear either side of where it should have been + ($trace[2] eq 'XS_Test__Valgrind_leak' and $trace[4] eq 'Perl_runops_standard') + ) ); if ($valid_trace) {