From 0a8a5ee299e3af1c61c42527d0318fa0c0a8abbe Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 16 Apr 2025 15:56:58 +0200 Subject: [PATCH] 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 --- Modules/_testexternalinspection.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/_testexternalinspection.c b/Modules/_testexternalinspection.c index 2a665affb5e7f8..2ed79f317b0417 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);