This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author cool-RR
Recipients cool-RR
Date 2016-08-16.08:27:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1471336057.05.0.0455905912371.issue27775@psf.upfronthosting.co.za>
In-reply-to
Content
I had a code that would freeze, and after debugging I realized that a bug in my code caused `shlex.split(None)` to be called, which puts Python in an infinite loop.

We probably want to do an `if not isinstance(s, ...): raise TypeError('Bla bla')` at the start of the `shlex` function, or maybe at `shlex.__init__`, or maybe both.

What bothers me though, is that it seems that shlex can accept both a string and a stream, so we should allow both of these and not others. Now, I don't know how to check whether it's a proper stream. Would `isinstance(s, io.IOBase)` be good enough? Will it catch all of the streams that people might use in `shlex.split`?

(Also, I recently proposed something related in python-ideas: https://groups.google.com/forum/#!searchin/python-ideas/stream%7Csort:relevance/python-ideas/uYlnnH52VEA/PSHkQRtaBwAJ )
History
Date User Action Args
2016-08-16 08:27:37cool-RRsetrecipients: + cool-RR
2016-08-16 08:27:37cool-RRsetmessageid: <1471336057.05.0.0455905912371.issue27775@psf.upfronthosting.co.za>
2016-08-16 08:27:37cool-RRlinkissue27775 messages
2016-08-16 08:27:36cool-RRcreate