From 6d86a2331e6b64a2ae80c1a21f81baa5a71ac594 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 29 Apr 2020 00:56:58 +0200 Subject: bpo-40429: PyFrame_GetCode() result cannot be NULL (GH-19772) Add frame_nslots() to factorize duplicate code. --- Python/ceval.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'Python/ceval.c') diff --git a/Python/ceval.c b/Python/ceval.c index c610419f24..e15d7e0b46 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -5580,9 +5580,10 @@ dtrace_function_entry(PyFrameObject *f) const char *funcname; int lineno; - filename = PyUnicode_AsUTF8(f->f_code->co_filename); - funcname = PyUnicode_AsUTF8(f->f_code->co_name); - lineno = PyCode_Addr2Line(f->f_code, f->f_lasti); + PyCodeObject *code = f->f_code; + filename = PyUnicode_AsUTF8(code->co_filename); + funcname = PyUnicode_AsUTF8(code->co_name); + lineno = PyCode_Addr2Line(code, f->f_lasti); PyDTrace_FUNCTION_ENTRY(filename, funcname, lineno); } @@ -5594,9 +5595,10 @@ dtrace_function_return(PyFrameObject *f) const char *funcname; int lineno; - filename = PyUnicode_AsUTF8(f->f_code->co_filename); - funcname = PyUnicode_AsUTF8(f->f_code->co_name); - lineno = PyCode_Addr2Line(f->f_code, f->f_lasti); + PyCodeObject *code = f->f_code; + filename = PyUnicode_AsUTF8(code->co_filename); + funcname = PyUnicode_AsUTF8(code->co_name); + lineno = PyCode_Addr2Line(code, f->f_lasti); PyDTrace_FUNCTION_RETURN(filename, funcname, lineno); } -- cgit v1.2.1