[Python-checkins] r51856 - python/trunk/Lib/test/crashers/infinite_loop_re.py
neal.norwitz
python-checkins at python.org
Mon Sep 11 06:32:57 CEST 2006
Author: neal.norwitz
Date: Mon Sep 11 06:32:57 2006
New Revision: 51856
Added:
python/trunk/Lib/test/crashers/infinite_loop_re.py (contents, props changed)
Log:
Add a "crasher" taken from the sgml bug report referenced in the comment
Added: python/trunk/Lib/test/crashers/infinite_loop_re.py
==============================================================================
--- (empty file)
+++ python/trunk/Lib/test/crashers/infinite_loop_re.py Mon Sep 11 06:32:57 2006
@@ -0,0 +1,16 @@
+
+# This was taken from http://python.org/sf/1541697
+# It's not technically a crasher. It may not even truly be infinite,
+# however, I haven't waited a long time to see the result. It takes
+# 100% of CPU while running this and should be fixed.
+
+import re
+starttag = re.compile(r'<[a-zA-Z][-_.:a-zA-Z0-9]*\s*('
+ r'\s*([a-zA-Z_][-:.a-zA-Z_0-9]*)(\s*=\s*'
+ r'(\'[^\']*\'|"[^"]*"|[-a-zA-Z0-9./,:;+*%?!&$\(\)_#=~@]'
+ r'[][\-a-zA-Z0-9./,:;+*%?!&$\(\)_#=~\'"@]*(?=[\s>/<])))?'
+ r')*\s*/?\s*(?=[<>])')
+
+if __name__ == '__main__':
+ foo = '<table cellspacing="0" cellpadding="0" style="border-collapse'
+ starttag.match(foo)
More information about the Python-checkins
mailing list