[Python-checkins] CVS: python/dist/src/Modules _sre.c,2.32,2.33
Fredrik Lundh
python-dev@python.org
Mon, 7 Aug 2000 10:33:41 -0700
Update of /cvsroot/python/python/dist/src/Modules
In directory slayer.i.sourceforge.net:/tmp/cvs-serv10415/Modules
Modified Files:
_sre.c
Log Message:
+ if USE_STACKCHECK is defined, use PyOS_CheckStack to look
for excessive recursion.
Index: _sre.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/_sre.c,v
retrieving revision 2.32
retrieving revision 2.33
diff -C2 -r2.32 -r2.33
*** _sre.c 2000/08/03 16:29:50 2.32
--- _sre.c 2000/08/07 17:33:38 2.33
***************
*** 59,63 ****
--- 59,65 ----
/* prevent run-away recursion (bad patterns on long strings) */
+ #if !defined(USE_STACKCHECK)
#define USE_RECURSION_LIMIT 10000
+ #endif
/* enables fast searching */
***************
*** 527,530 ****
--- 529,537 ----
TRACE(("%8d: enter %d\n", PTR(ptr), level));
+
+ #if defined(USE_STACKCHECK)
+ if (level % 10 == 0 && PyOS_CheckStack()) {
+ return SRE_ERROR_RECURSION_LIMIT;
+ #endif
#if defined(USE_RECURSION_LIMIT)