diff options
| author | Victor Stinner <vstinner@python.org> | 2020-04-28 22:56:58 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-28 22:56:58 (GMT) |
| commit | 6d86a2331e6b64a2ae80c1a21f81baa5a71ac594 (patch) | |
| tree | 43b1e88fff7e3122019b4d948758534aeed39a87 /Python | |
| parent | 521c8d6806adf0305c158d280ec00cca48e8ab22 (diff) | |
| download | cpython-6d86a2331e6b64a2ae80c1a21f81baa5a71ac594.zip cpython-6d86a2331e6b64a2ae80c1a21f81baa5a71ac594.tar.gz cpython-6d86a2331e6b64a2ae80c1a21f81baa5a71ac594.tar.bz2 | |
bpo-40429: PyFrame_GetCode() result cannot be NULL (GH-19772)
Add frame_nslots() to factorize duplicate code.
Diffstat (limited to 'Python')
| -rw-r--r-- | Python/_warnings.c | 4 | ||||
| -rw-r--r-- | Python/ceval.c | 14 |
2 files changed, 8 insertions, 10 deletions
diff --git a/Python/_warnings.c b/Python/_warnings.c index 91c611c..7a620dc 100644 --- a/Python/_warnings.c +++ b/Python/_warnings.c @@ -784,10 +784,6 @@ is_internal_frame(PyFrameObject *frame) } PyCodeObject *code = PyFrame_GetCode(frame); - if (code == NULL) { - return 0; - } - PyObject *filename = code->co_filename; if (filename == NULL) { return 0; diff --git a/Python/ceval.c b/Python/ceval.c index c610419..e15d7e0 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); } |
