https://github.com/python/cpython/commit/49b11033bd87fb26eb4b74ba2451ed30b1af9780 commit: 49b11033bd87fb26eb4b74ba2451ed30b1af9780 branch: main author: Pablo Galindo Salgado <pablog...@gmail.com> committer: pablogsal <pablog...@gmail.com> date: 2025-02-13T01:07:01Z summary:
GH-91048: Correct error path in testexternalinspection (#129557) files: M Modules/_testexternalinspection.c diff --git a/Modules/_testexternalinspection.c b/Modules/_testexternalinspection.c index f1e331fea475c4..77984460400c5d 100644 --- a/Modules/_testexternalinspection.c +++ b/Modules/_testexternalinspection.c @@ -410,6 +410,7 @@ get_py_runtime(pid_t pid) { uintptr_t address = search_map_for_section(pid, "PyRuntime", "libpython"); if (address == 0) { + PyErr_Clear(); address = search_map_for_section(pid, "PyRuntime", "python"); } return address; @@ -1458,6 +1459,13 @@ get_stack_trace(PyObject* self, PyObject* args) } uintptr_t runtime_start_address = get_py_runtime(pid); + if (runtime_start_address == 0) { + if (!PyErr_Occurred()) { + PyErr_SetString( + PyExc_RuntimeError, "Failed to get .PyRuntime address"); + } + return NULL; + } struct _Py_DebugOffsets local_debug_offsets; if (read_offsets(pid, &runtime_start_address, &local_debug_offsets)) { @@ -1511,6 +1519,13 @@ get_async_stack_trace(PyObject* self, PyObject* args) } uintptr_t runtime_start_address = get_py_runtime(pid); + if (runtime_start_address == 0) { + if (!PyErr_Occurred()) { + PyErr_SetString( + PyExc_RuntimeError, "Failed to get .PyRuntime address"); + } + return NULL; + } struct _Py_DebugOffsets local_debug_offsets; if (read_offsets(pid, &runtime_start_address, &local_debug_offsets)) { _______________________________________________ Python-checkins mailing list -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com