mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
The sre test suite currently overruns the stack on Win64, Linux64, and Monterey
(64-bit AIX) This is because the RECURSION_LIMIT is too low. This patch lowers to recusion limit to 7500 such that the recusion check fires before a segfault. Fredrik suggested/approved the fix in private email, modulo sre's recusion limit checking no being necessary when PyOS_CheckStack is implemented for Windows.
This commit is contained in:
parent
1aebadf0e5
commit
239548f37d
1 changed files with 11 additions and 2 deletions
|
@ -58,9 +58,18 @@ char copyright[] = " SRE 0.9.8 Copyright (c) 1997-2000 by Secret Labs AB ";
|
|||
/* -------------------------------------------------------------------- */
|
||||
/* optional features */
|
||||
|
||||
/* prevent run-away recursion (bad patterns on long strings) */
|
||||
/* prevent run-away recursion (bad patterns on long strings)
|
||||
Require a smaller recursion limit for a number of 64-bit platforms
|
||||
to prevent stack overflow:
|
||||
Win64 - MS_WIN64, Linux64 - __LP64__, Monterey (64-bit AIX) - _LP64
|
||||
XXX Or maybe this should be defined for all SIZEOF_VOIDP>4 platforms?
|
||||
*/
|
||||
#if !defined(USE_STACKCHECK)
|
||||
#define USE_RECURSION_LIMIT 10000
|
||||
# if defined(MS_WIN64) || defined(__LP64__) || defined(_LP64)
|
||||
# define USE_RECURSION_LIMIT 7500
|
||||
# else
|
||||
# define USE_RECURSION_LIMIT 10000
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* enables fast searching */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue