[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)