-
Notifications
You must be signed in to change notification settings - Fork 577
stack-overflow in __GI__IO_default_xsputn #16024
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
Comments
From @Mipu94I have found a sample that triggered stack-overflow ASAN report: ==16611==ERROR: AddressSanitizer: stack-overflow on address 0x7fffd9bd1eb8 SUMMARY: AddressSanitizer: stack-overflow This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64 debug [----------------------------------registers-----------------------------------] gdb-peda$ where -- |
From @tonycozOn Sun, 18 Jun 2017 05:36:26 -0700, tadinhsung@gmail.com wrote:
This is simple deep recursion and isn't a bug in perl. The # on line 4 comments out of rest of the line, so the code becomes: #!/usr/bin/perl -w BEGIN { *CORE::GLOBAL::require = sub { { This simplifies down to: use Test::More tests => 1; Test2::API creates an END block: END { The set_exit() method attempts to load a module at runtime (well, destruct time), which sees the CORE::GLOBAL::require override: $new_exit = 255 if $new_exit > 255; if ($new_exit && eval { require Test2::API::Breakage; 1 }) { causing deep recursion and a stack overflow, so this can be further simplified to: #!/usr/bin/perl -w Tony |
The RT System itself - Status changed from 'new' to 'open' |
From @iabynOn Sun, Jun 18, 2017 at 05:36:27AM -0700, sung wrote:
This is fairly standard example of certain types of recursive perl code I don't see any particular security issues with it. I'll move the ticket to the public queue and attach it to the relevant #111358: [META] C stack recursion -- |
Migrated from rt.perl.org#131596 (status was 'open')
Searchable as RT131596$
The text was updated successfully, but these errors were encountered: