From: Serhiy Storchaka Date: Mon, 14 Apr 2025 18:59:07 +0000 (+0300) Subject: [3.13] gh-124476: Fix decoding from the locale encoding in the C.UTF-8 locale (GH... X-Git-Tag: v3.13.4~272 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f218549afc7845ccc4168ceecb1f94ff1c58468a;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-124476: Fix decoding from the locale encoding in the C.UTF-8 locale (GH-132477) (ПР-132528) (cherry picked from commit 102f825c5112cbe6985edc0971822b07bd778135) --- diff --git a/Misc/NEWS.d/next/Core and Builtins/2025-04-13-17-18-01.gh-issue-124476.fvGfQ7.rst b/Misc/NEWS.d/next/Core and Builtins/2025-04-13-17-18-01.gh-issue-124476.fvGfQ7.rst new file mode 100644 index 000000000000..be0ecee95ded --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2025-04-13-17-18-01.gh-issue-124476.fvGfQ7.rst @@ -0,0 +1 @@ +Fix decoding from the locale encoding in the C.UTF-8 locale. diff --git a/Python/fileutils.c b/Python/fileutils.c index 9529b14d377c..921500bfef1d 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c @@ -523,15 +523,7 @@ decode_current_locale(const char* arg, wchar_t **wstr, size_t *wlen, break; } - if (converted == INCOMPLETE_CHARACTER) { - /* Incomplete character. This should never happen, - since we provide everything that we have - - unless there is a bug in the C library, or I - misunderstood how mbrtowc works. */ - goto decode_error; - } - - if (converted == DECODE_ERROR) { + if (converted == DECODE_ERROR || converted == INCOMPLETE_CHARACTER) { if (!surrogateescape) { goto decode_error; }