]> granicus.if.org Git - python/commit
bpo-31588: Validate return value of __prepare__() methods (GH-3764)
authorOren Milman <orenmn@gmail.com>
Wed, 27 Sep 2017 14:04:37 +0000 (17:04 +0300)
committerNick Coghlan <ncoghlan@gmail.com>
Wed, 27 Sep 2017 14:04:37 +0000 (00:04 +1000)
commit5837d0418f47933b2e3c139bdee8a79c248a943c
treea3b7dfdca108fe5b67d63a878f85c2b829f4fe41
parent236329ed9fee01edb85d698d30682e304439d198
bpo-31588: Validate return value of __prepare__() methods (GH-3764)

Class execution requires that __prepare__() methods return
a proper execution namespace. Check for that immediately
after calling __prepare__(), rather than passing it through
to the code execution machinery and potentially triggering
SystemError (in debug builds) or a cryptic TypeError
(in release builds).

Patch by Oren Milman.
Lib/test/test_types.py
Misc/NEWS.d/next/Core and Builtins/2017-09-26-13-03-16.bpo-31588.wT9Iy7.rst [new file with mode: 0644]
Python/bltinmodule.c