[Python-checkins] cpython (3.3): don't run frame if it has no stack (closes #17669)
benjamin.peterson
python-checkins at python.org
Wed Apr 10 23:01:46 CEST 2013
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)
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);
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list