From b3385660010f8c882d5e92479318d5ed3752930d Mon Sep 17 00:00:00 2001 From: Matthias Bussonnier Date: Sat, 25 Feb 2017 17:23:49 -0800 Subject: [PATCH] bpo-29655: Fix import start can leak a reference. --- Python/ceval.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Python/ceval.c b/Python/ceval.c index 0a82965c517320..4022ba2ac96d34 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -2810,13 +2810,16 @@ _PyEval_EvalFrameDefault(PyFrameObject *f, int throwflag) TARGET(IMPORT_STAR) { PyObject *from = POP(), *locals; int err; - if (PyFrame_FastToLocalsWithError(f) < 0) + if (PyFrame_FastToLocalsWithError(f) < 0) { + Py_DECREF(from); goto error; + } locals = f->f_locals; if (locals == NULL) { PyErr_SetString(PyExc_SystemError, "no locals found during 'import *'"); + Py_DECREF(from); goto error; } err = import_all_from(locals, from);