[Python-Dev] cpython (3.3): don't run frame if it has no stack (closes #17669)
Antoine Pitrou
solipsis at pitrou.net
Wed Apr 10 23:46:45 CEST 2013
On Wed, 10 Apr 2013 23:01:46 +0200 (CEST)
benjamin.peterson <python-checkins at python.org> wrote:
> http://hg.python.org/cpython/rev/35cb75b9d653
> changeset: 83238:35cb75b9d653
> branch: 3.3
> parent: 83235:172f825d7fc9
> user: Benjamin Peterson <benjamin at python.org>
> date: Wed Apr 10 17:00:56 2013 -0400
> summary:
> don't run frame if it has no stack (closes #17669)
Wouldn't it be better with a test?
Regards
Antoine.
>
> files:
> Misc/NEWS | 2 ++
> Objects/genobject.c | 2 +-
> 2 files changed, 3 insertions(+), 1 deletions(-)
>
>
> diff --git a/Misc/NEWS b/Misc/NEWS
> --- a/Misc/NEWS
> +++ b/Misc/NEWS
> @@ -12,6 +12,8 @@
> Core and Builtins
> -----------------
>
> +- Issue #17669: Fix crash involving finalization of generators using yield from.
> +
> - Issue #17619: Make input() check for Ctrl-C correctly on Windows.
>
> - Issue #17610: Don't rely on non-standard behavior of the C qsort() function.
> diff --git a/Objects/genobject.c b/Objects/genobject.c
> --- a/Objects/genobject.c
> +++ b/Objects/genobject.c
> @@ -178,7 +178,7 @@
> PyObject *yf = NULL;
> PyFrameObject *f = gen->gi_frame;
>
> - if (f) {
> + if (f && f->f_stacktop) {
> PyObject *bytecode = f->f_code->co_code;
> unsigned char *code = (unsigned char *)PyBytes_AS_STRING(bytecode);
>
>
More information about the Python-Dev
mailing list