From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 16 Apr 2025 14:21:58 +0000 (+0200) Subject: [3.13] gh-130052: Fix search_map_for_section() error handling (GH-132594) (#132598) X-Git-Tag: v3.13.4~264 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ff3f6588c3ecb6746a33f14030a90eb32467eece;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-130052: Fix search_map_for_section() error handling (GH-132594) (#132598) gh-130052: Fix search_map_for_section() error handling (GH-132594) * Don't call close() if the file descriptor is negative. * If close() fails, chain the existing exception. (cherry picked from commit 014c7f90478780b18d0e33d456483178c8dcc665) Co-authored-by: Victor Stinner --- diff --git a/Modules/_testexternalinspection.c b/Modules/_testexternalinspection.c index 2a665affb5e7..2ed79f317b04 100644 --- a/Modules/_testexternalinspection.c +++ b/Modules/_testexternalinspection.c @@ -345,8 +345,10 @@ get_py_runtime_linux(pid_t pid) } exit: - if (close(fd) != 0) { + if (fd >= 0 && close(fd) != 0) { + PyObject *exc = PyErr_GetRaisedException(); PyErr_SetFromErrno(PyExc_OSError); + _PyErr_ChainExceptions1(exc); } if (file_memory != NULL) { munmap(file_memory, file_stats.st_size);