#!./perl # Parser tests that want test.pl, eg to use runperl() for tests to show # reads through invalid pointers. # Note that this should still be runnable under miniperl. BEGIN { chdir 't' if -d 't'; require './test.pl'; set_up_inc( qw(. ../lib ) ); } plan(70); # [perl #130814] can reallocate lineptr while looking ahead for # "Missing $ on loop variable" diagnostic. my $result = fresh_perl( " foreach my\n\$" . ("v" x 0x2000), { stderr => 1 }, ); is($result . "\n", < "\@{ 0\n\n}", stderr => 1, non_portable => 1); is($out, "", "check for ASAN use after free"); } fresh_perl_is('-C-', <<'EXPECTED', {}, "ambiguous unary operator check doesn't crash (#132433)"); Warning: Use of "-C-" without parentheses is ambiguous at - line 1. syntax error at - line 1, at EOF Execution of - aborted due to compilation errors. EXPECTED { my $work = tempfile; open my $fh, ">", $work or die; binmode $fh; print $fh +("\n" x 50_000), "1;\n"; close $fh; fresh_perl_is('require "./' . $work .'"; print "ok\n";', "ok\n", {}, "many blank lines doesn't crash"); } __END__ # ex: set ts=8 sts=4 sw=4 et: