]> granicus.if.org Git - python/commit
Fix an issue in the tokenizer, where a file is opened by fd, but the underlying PyFil...
authorKristján Valur Jónsson <kristjan@ccpgames.com>
Thu, 18 Dec 2008 17:15:54 +0000 (17:15 +0000)
committerKristján Valur Jónsson <kristjan@ccpgames.com>
Thu, 18 Dec 2008 17:15:54 +0000 (17:15 +0000)
commit19288c247ad585f7a5487d2e5d3f9d50887a19ba
tree2a04bf09d666431b62e92bb7bd9951515f10b5ff
parentbaa4546b02e776d60e3f5d8261ff88f03550b230
Fix an issue in the tokenizer, where a file is opened by fd, but the underlying PyFileIO object wasn created with the closefd attribute true.
Also fix error handling for close() int _fileio.c .  It was incorrect, looking for a negative refcount, and so errors weren't raised.  This is why this issue wasn't caught.
There is a second reason why it isn't seen:  Class IOBase in io.py has a try:/except: around the close() funtion in the __del__() method.  This also masks these error conditions.

This issue was discovered by removing the _set_invalid_parameter_handler() fiddling, thus enabling the C runtime checks on windows.
Modules/_fileio.c
Parser/tokenizer.c