New submission from Christian Heimes <li...@cheimes.de>:
The shlex module implements simple tokenize for a shell-like mini language. The
shlex.split() function splits a string into subcomponents just like a typical
Unix shell. However function has a surprising feature. When None is passed into
Note: Since the split() function instantiates a shlex instance, passing None
for s will read the string to split from standard input.
This is both surprising, unnecessary and potentially dangerous. Reading from
sys.stdin is a blocking operation. In case an application doesn't account for
None, shlex.split(value) could lead to a blocked server application. I suggest
to deprecate and eventually remove this mis-feature.
Credits: David R. MacIver reported the bug on Twitter:
stage: needs patch
title: Deprecate shlex.split(None) to read from stdin.
versions: Python 3.8
Python tracker <rep...@bugs.python.org>
Python-bugs-list mailing list