-
Notifications
You must be signed in to change notification settings - Fork 540
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
/(?[\ &!])/ segfaults #14933
Comments
From victor@drawall.ccCreated by @GrimyHow to reproduce
Using any of [+-|^] instead of & yields the same results. Expected behavior Perl should die with the following diagnostics:
(This was the behavior in perl5.20.2) Actual behavior Perl is forcefully terminated by a SIGSEGV signal.
gdb gives the following backtrace: Affected versions Current blead (2d9b5f1) is affected. Perl Info
|
From @dcollinsnA -DDEBUGGING build of blead reports: dcollins@nightshade:~/perl$ ./miniperl -e '/(?[\ &!])/' Also valgrind on the segfaulting (not debugging) version: dcollins@nightshade:~/perl$ valgrind --track-origins=yes ./perl -e '/(?[\ &!])/' dcollins@nightshade:~/perl$ ./perl -Ilib -V Characteristics of this binary (from libperl): |
From [Unknown Contact. See original ticket]A -DDEBUGGING build of blead reports: dcollins@nightshade:~/perl$ ./miniperl -e '/(?[\ &!])/' Also valgrind on the segfaulting (not debugging) version: dcollins@nightshade:~/perl$ valgrind --track-origins=yes ./perl -e '/(?[\ &!])/' dcollins@nightshade:~/perl$ ./perl -Ilib -V Characteristics of this binary (from libperl): |
From @dcollinsnGreetings Porters, I have compiled bleadperl with the afl-gcc compiler using: ./Configure -Dusedevel -Dprefix='/usr/local/perl-afl' -Dcc='ccache afl-gcc' -Duselongdouble -Duse64bitall -Doptimize=-g -Uversiononly -Uman1dir -Uman3dir -des And then fuzzed the resulting binary using: AFL_NO_VAR_CHECK=1 afl-fuzz -i in -o out bin/perl @@ After reducing testcases using `afl-tmin` and performing additional minimization by hand, I have located the following testcase that triggers a segmentation fault in the perl interpreter. The testcase is the 11-character file: /(?[()-!])/ This segfaults even in perls that have the patch for the very similar bug [perl #125805], which documents a segfault on the 12-character file 00./(?[()])/ The present bug also occurs in a different function and with a different valgrind signature than the remarkably similar [perl #126180], which documents a segfault on the 11-character file /(?[\ &!])/ **GDB** dcollins@nightshade64:/usr/local/perl-afl/out$ gdb --args ../bin/perl -e '/(?[()-!])/' Program received signal SIGSEGV, Segmentation fault. Inferior 1 [process 60040] will be killed. Quit anyway? (y or n) y **VALGRIND** dcollins@nightshade64:/usr/local/perl-afl/out$ valgrind ../bin/perl -e '/(?[()-!])/' **PERL -V** dcollins@nightshade64:/usr/local/perl-afl/out$ ../bin/perl -V Characteristics of this binary (from libperl): |
@khwilliamson - Status changed from 'new' to 'open' |
From @khwilliamsonThanks for your report on this regression. Now fixed by 5a55ed3 |
@khwilliamson - Status changed from 'open' to 'pending release' |
From @dcollinsnThis appears to have been fixed in blead, please close. |
From @khwilliamsonOn 10/19/2015 02:29 PM, Dan Collins via RT wrote:
I merged this with #126180, whose fix fixed this one as well. But I |
@mauke - Status changed from 'pending release' to 'resolved' |
Migrated from rt.perl.org#126180 (status was 'resolved')
Searchable as RT126180$
The text was updated successfully, but these errors were encountered: