-
Notifications
You must be signed in to change notification settings - Fork 561
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
Assertion failure in glob3 (bsd_glob.c:759) #16869
Comments
From @dur-randirCreated by @dur-randirWhile fuzzing perl v5.29.8-21-gde59f38ed9 built with afl and run perl: bsd_glob.c:759: int glob3(Char *, Char *, Char *, Char *, Char GDB stack trace is following: #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 This is a regression between 5.18 and 5.20, bisect points to commit 46a847d File::Glob: silence some compiler warnings Perl Info
|
From @dur-randir |
From @tonycozOn Sun, 03 Mar 2019 11:33:07 -0800, randir wrote:
I believe this is an error in the assertion. The pattern in this case is exactly 4095 bytes long, you can reproduce this with: my $str = ("0" x 4094) . "?"; At the point of the call to glob3() restpattern points one past the end of the pattern (ie. at the terminating NUL for a simple glob) and restpattern_last points at the last byte in the buffer (*not* one past the end) ie. patbuf + MAXPATHLEN -1 (patbuf in glob0()). So in this case they're equal and the assertion fails. Tony |
The RT System itself - Status changed from 'new' to 'open' |
Migrated from rt.perl.org#133888 (status was 'open')
Searchable as RT133888$
The text was updated successfully, but these errors were encountered: