-
Notifications
You must be signed in to change notification settings - Fork 560
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
Not OK: perl 5.00558 on ppc-linux 2.2.10 (UNINSTALLED) #257
Comments
From schinder@pobox.com----------------------------------------------------------------- pragma/warning......PROG: Perl Info
|
detected by CPAN, wrong recursion warning with CPAN write_metadata_cache. There's no recursion involved, just nesting a hash into a big array will fail. (cherry picked from commit 2804828)
Store each recursive SV and only ++depth when recursing into this same SV, not nested into 2 levels, for performance reasons. (We'd really need to store a hash, but this would be slow.) So it only protects from the simpliest stack exhaustion attacks, others still will segfault. Decrease the max depth numbers: 2000 for RV and AV, 1000 for HV, experimentally tested for normal stack sizes. At least it doesnt falsely error with an arrayref nested into another big array, as with the CPAN write_metadata_cache. Check now also refs recursion into each other. Closes #257. (cherry picked from commit cd2b11a) Conflicts: dist/Storable/Storable.pm pod/perlcdelta.pod
Migrated from rt.perl.org#1074 (status was 'resolved')
Searchable as RT1074$
The text was updated successfully, but these errors were encountered: