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
toke.c:9188: S_parse_ident: Assertion `(((const U8*) (PL_parser->bufend)) > ((const U8*) t) || (((const U8*) (PL_parser->bufend)) == ((const U8*) t) && *((const U8*) t) == '\0'))' failed #15846
Comments
From @dur-randirCreated by @dur-randirWhile fuzzing perl v5.25.9-35-g32207c637b built with afl and run 00000000 42 45 47 49 4e 7b 24 5e 48 3d 2d 31 7d 3b 73 00 |BEGIN{$^H=-1};s.| to cause an assertion failure. This is a regression in blead, bisect points to fac0f7a is the first bad commit toke.c: Convert to use isFOO_utf8_safe() macros GDB info about the crash location: (gdb) bt Perl Info
|
From @dur-randirForgot to attach crash example, here it is. |
From @dur-randir |
From [Unknown Contact. See original ticket]Forgot to attach crash example, here it is. |
From @khwilliamsonThanks for finding this; fixed by |
The RT System itself - Status changed from 'new' to 'open' |
@khwilliamson - Status changed from 'open' to 'resolved' |
From @iabynOn Sun, Jan 29, 2017 at 03:14:25PM -0800, Karl Williamson via RT wrote:
I can't see that commit, but I do see this one: commit d206794 PATCH: [perl #130666]: Revert "toke.c, S_scan_ident(): Don't take a "end of buffer" argument, use PL_bufend" This appears to be cause of the following compiler warning: toke.c:9273:41: warning: unused parameter 'send' [-Wunused-parameter] because that commit seems have added back a 'send' parameter to So I'm not sure what the intent was, or how it should be fixed. -- |
From @khwilliamsonOn 02/01/2017 09:25 AM, Dave Mitchell wrote:
Now fixed by this: commit c9470cf toke.c: Remove unused param from static function Commit d206794 reverted commit I would have expected the reversion to add back both the parameter and I tried both approaches to fix this: I then tried to understand why the parameter in the first place, and why The trouble is that modern scan_ident versions do not view themselves as Hence approach "2)" is used. I'm a little nervous about this, as it may Spotted by Dave Mitchell. |
Migrated from rt.perl.org#130666 (status was 'resolved')
Searchable as RT130666$
The text was updated successfully, but these errors were encountered: