[3.11] gh-107913: Fix possible losses of OSError error codes (GH-107930) (GH-108524)

Functions like PyErr_SetFromErrno() and SetFromWindowsErr() should be
called immediately after using the C API which sets errno or the Windows
error code.
(cherry picked from commit 2b15536fa9)
This commit is contained in:
Serhiy Storchaka 2023-08-27 15:18:58 +03:00 committed by GitHub
parent 8a275f7c01
commit b9fc536399
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 129 additions and 77 deletions

View file

@ -7556,7 +7556,7 @@ decode_code_page_errors(UINT code_page,
if (err != ERROR_NO_UNICODE_TRANSLATION
&& err != ERROR_INSUFFICIENT_BUFFER)
{
PyErr_SetFromWindowsErr(0);
PyErr_SetFromWindowsErr(err);
goto error;
}
insize++;