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 <vstinner@python.org>
}
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);