From a6daaf2a132efbb1965b4502ff8a8cf3b5afed0e Mon Sep 17 00:00:00 2001 From: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> Date: Thu, 21 Jul 2022 21:49:49 +0800 Subject: [PATCH] Fix PyCode_Addr2Location when addrq < 0 (GH-95091) --- .../2022-07-21-19-19-20.gh-issue-95060.4xdT1f.rst | 2 ++ Objects/codeobject.c | 1 + 2 files changed, 3 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-07-21-19-19-20.gh-issue-95060.4xdT1f.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-07-21-19-19-20.gh-issue-95060.4xdT1f.rst b/Misc/NEWS.d/next/Core and Builtins/2022-07-21-19-19-20.gh-issue-95060.4xdT1f.rst new file mode 100644 index 00000000000..160999e82bf --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-07-21-19-19-20.gh-issue-95060.4xdT1f.rst @@ -0,0 +1,2 @@ +Undocumented ``PyCode_Addr2Location`` function now properly returns when +``addrq`` argument is less than zero. diff --git a/Objects/codeobject.c b/Objects/codeobject.c index d4fa0e38aed..76e430ae1c5 100644 --- a/Objects/codeobject.c +++ b/Objects/codeobject.c @@ -971,6 +971,7 @@ PyCode_Addr2Location(PyCodeObject *co, int addrq, if (addrq < 0) { *start_line = *end_line = co->co_firstlineno; *start_column = *end_column = 0; + return 1; } assert(addrq >= 0 && addrq < _PyCode_NBYTES(co)); PyCodeAddressRange bounds;