mirror of https://github.com/lukechilds/node.git
Browse Source
V8's interpreter performs stack checks both at the call site and at the function entry. A recursive function could therefore trigger stack overflow at two different source locations. Instead of recursion, call JSON.stringify on a deeply nested array. PR-URL: https://github.com/nodejs/node/pull/12481 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>v6
Yang Guo
8 years ago
committed by
Franziska Hinkelmann
2 changed files with 9 additions and 7 deletions
@ -1,6 +1,6 @@ |
|||
before |
|||
|
|||
*test*message*stack_overflow.js:* |
|||
function stackOverflow() { |
|||
^ |
|||
JSON.stringify(array); |
|||
^ |
|||
|
|||
RangeError: Maximum call stack size exceeded |
|||
|
Loading…
Reference in new issue