This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
RT: #126309 die more gracefully on (1) x ~1
authorDavid Mitchell <davem@iabyn.com>
Tue, 20 Oct 2015 14:04:49 +0000 (15:04 +0100)
committerDavid Mitchell <davem@iabyn.com>
Wed, 28 Oct 2015 12:55:28 +0000 (12:55 +0000)
commit402d079e250e3dfdc9724f77bd7880f39e109b24
tree1355d2ccfc4dc6d85d76b07d0e1060a5ddfc9fc9
parent0c7fc6418c524329d47034aa2f4bec4f288095e2
RT: #126309 die more gracefully on (1) x ~1

Recent improvements to MEXTEND() etc means that the above is now caught and
panics rather than crashing. However, the panic is:

    panic: av_extend_guts() negative count (-9223372036854775681)

which is safe, but not pretty. This commit makes it croak instead with:

    Out of memory during stack extend

Basically Perl_stack_grow() adds an extra 128 bytes of headroom to the
amount it actually extends the stack by. Check in stack_grow() itself
whether this has wrapped, rather than leaving it to av_extend_guts(),
which can only give a generic panic message.
scope.c
t/op/repeat.t