ticket id
000040
status
closed
priority
???
assigned to
NOBODY
Reported by: silviogutierrez
Component:

In a plain text file add a "*", then a space, and then a tab. Add another star, a space, and another tab. Save the file.

Run markdown on it. I get:

Traceback (most recent call last):
File "/usr/local/bin/markdown", line 5, in <module>
pkg_resources.run_script('Markdown==2.0.1', 'markdown')
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 448, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 1173, in run_script
exec script_code in namespace, namespace
File "/usr/local/lib/python2.6/dist-packages/Markdown-2.0.1-py2.6.egg EGG-INFO/scripts/markdown", line 42, in <module>

File "build/bdist.linux-x86_64/egg/markdown/commandline.py", line 96, in run
File "build/bdist.linux-x86_64/egg/markdown/__init__.py", line 600, in markdownFromFile

File "build/bdist.linux-x86_64/egg/markdown/__init__.py", line 439, in convertFile

File "build/bdist.linux-x86_64/egg/markdown/__init__.py", line 389, in convert

File "build/bdist.linux-x86_64/egg/markdown/blockparser.py", line 60, in parseDocument
File "build/bdist.linux-x86_64/egg/markdown/blockparser.py", line 75, in parseChunk
File "build/bdist.linux-x86_64/egg/markdown/blockparser.py", line 92, in parseBlocks
File "build/bdist.linux-x86_64/egg/markdown/blockprocessors.py", line 299, in run
File "build/bdist.linux-x86_64/egg/markdown/blockparser.py", line 92, in parseBlocks
File "build/bdist.linux-x86_64/egg/markdown/blockprocessors.py", line 295, in run
IndexError: child index out of range

I found this because one of my editors mistakenly wrote in a horizontal break using "* * *" but varied between spaces and tags. Kind of an esoteric scenario, but it crashes django.

Thanks for all the work on the library,

Silvio

Comments

By Waylan Limberg on Aug 10, 2009

Hmm, I can't seem to reproduce this. Could you provide the exact input which caused this? Thanks.

For example, trying this in the python interpreter raised no errors:

>>> import markdown
>>> markdown.markdown('* \t* \t')

Granted, the output is a little strange, but nothings crashing as you say and it's enough of an edge case I'm not to worried about the odd output. However, if you can provide something that crashes Markdown, then we definitely want to fix that.

Resolution

wontfix

Powered by Sputnik | XHTML 1.1