diff options
author | Waylan Limberg <waylan@gmail.com> | 2007-10-30 01:59:40 +0000 |
---|---|---|
committer | Waylan Limberg <waylan@gmail.com> | 2007-10-30 01:59:40 +0000 |
commit | b23d4874cb101f716f6285a3a683b8c90621ca78 (patch) | |
tree | 8b26ae233d2c47661a851a68a3401fb7c7aafe1f | |
parent | 262228bd6afdab5602e960be9b2cc772cd6aad19 (diff) | |
download | markdown-b23d4874cb101f716f6285a3a683b8c90621ca78.tar.gz markdown-b23d4874cb101f716f6285a3a683b8c90621ca78.tar.bz2 markdown-b23d4874cb101f716f6285a3a683b8c90621ca78.zip |
Fixed infinite loop in bracket regex and added tests
-rw-r--r-- | markdown.py | 4 | ||||
-rw-r--r-- | tests/misc/bracket_re.html | 61 | ||||
-rw-r--r-- | tests/misc/bracket_re.txt | 61 |
3 files changed, 124 insertions, 2 deletions
diff --git a/markdown.py b/markdown.py index e563866..181de1d 100644 --- a/markdown.py +++ b/markdown.py @@ -640,8 +640,8 @@ So, we apply the expressions in the following order: NOBRACKET = r'[^\]\[]*' BRK = ( r'\[(' - + (NOBRACKET + r'(\['+NOBRACKET)*6 - + (NOBRACKET+ r'\])*'+NOBRACKET)*6 + + (NOBRACKET + r'(\[')*6 + + (NOBRACKET+ r'\])*')*6 + NOBRACKET + r')\]' ) BACKTICK_RE = r'\`([^\`]*)\`' # `e= m*c^2` diff --git a/tests/misc/bracket_re.html b/tests/misc/bracket_re.html new file mode 100644 index 0000000..04245ad --- /dev/null +++ b/tests/misc/bracket_re.html @@ -0,0 +1,61 @@ +<p>[x + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx +</p>
\ No newline at end of file diff --git a/tests/misc/bracket_re.txt b/tests/misc/bracket_re.txt new file mode 100644 index 0000000..545e061 --- /dev/null +++ b/tests/misc/bracket_re.txt @@ -0,0 +1,61 @@ + +[x +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx |