summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* [3.12] gh-131809: Upgrade vendored expat to 2.7.1 (GH-132192) (#132237)Miss Islington (bot)2025-04-074-10/+19
| | | | | | | | | | | | * gh-131809: Upgrade vendored expat to 2.7.1 (GH-132192) (cherry picked from commit c0de6500249469e6fc5b458d6afb6bad1b6755cd) Co-authored-by: Gregory P. Smith <greg@krypto.org> * make regen-sbom --------- Co-authored-by: Gregory P. Smith <greg@krypto.org>
* [3.12] gh-122040: reword `Modules/xxmodule.c` module-level comment ↵Miss Islington (bot)2025-04-071-2/+1
| | | | | | | | (GH-132201) (#132208) gh-122040: reword `Modules/xxmodule.c` module-level comment (GH-132201) (cherry picked from commit af8d1b95377917036aaedf18b9cc047d8877259c) Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>
* [3.12] gh-132075: Fix possible use of sockaddr structures with uninitialized ↵Miss Islington (bot)2025-04-041-0/+13
| | | | | | | | members (GH-132076) (GH-132087) Now all structure members are initialized with zeroes by default. (cherry picked from commit 345baa77ba2ce3b8ea8f2fad84754e5cc0b10938) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* [3.12] gh-89039: Call subclass constructors in datetime.*.replace ↵Serhiy Storchaka2025-04-021-40/+61
| | | | | | | | | | | | | (GH-114780) (GH-131239) When replace() method is called on a subclass of datetime, date or time, properly call derived constructor. Previously, only the base class's constructor was called. Also, make sure to pass non-zero fold values when creating subclasses in various methods. Previously, fold was silently ignored. (cherry picked from commit 46190d9ea8a878a03d95b4e1bdcdc9ed576cf3fa) Co-authored-by: Eugene Toder <eltoder@users.noreply.github.com>
* [3.12] gh-111178: Fix getsockaddrarg() undefined behavior (GH-131668) ↵Miss Islington (bot)2025-04-011-11/+49
| | | | | | | | | | | | | | | | | | | | (GH-131977) (#131979) [3.13] gh-111178: Fix getsockaddrarg() undefined behavior (GH-131668) (GH-131977) gh-111178: Fix getsockaddrarg() undefined behavior (GH-131668) Don't pass direct references to sockaddr members since their type may not match PyArg_ParseTuple() types. Instead, use temporary 'int' and 'unsigned char' variables, and update sockaddr members afterwards. On FreeBSD, treat BTPROTO_HCI node name as a bytes string, not as an integer. (cherry picked from commit c318a03b17c3e58e9c46beb84ab7070b7baa303b) Co-authored-by: Victor Stinner <vstinner@python.org> (cherry picked from commit 8cd29c2b533e5a1a262238695d05f2a7c44d6455) Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.12] gh-126033: fix UAF in `xml.etree.ElementTree.Element.remove` when ↵Miss Islington (bot)2025-03-311-26/+32
| | | | | | | | concurrent mutations happen (GH-126124) (#131930) gh-126033: fix UAF in `xml.etree.ElementTree.Element.remove` when concurrent mutations happen (GH-126124) (cherry picked from commit bab1398a47f6d0cfc1be70497f306874c749ef7c) Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* [3.12] gh-126037: fix UAF in `xml.etree.ElementTree.Element.find*` when ↵Bénédikt Tran2025-03-311-36/+28
| | | | | | | | | | | concurrent mutations happen (#127964) (#131932) gh-126037: fix UAF in `xml.etree.ElementTree.Element.find*` when concurrent mutations happen (#127964) We fix a use-after-free in the `find`, `findtext` and `findall` methods of `xml.etree.ElementTree.Element` objects that can be triggered when the tag to find implements an `__eq__` method that mutates the element being queried. (cherry picked from commit c57623c221d46daeaedfbf2b32d041fde0c882de)
* gh-131423: Update to OpenSSL 3.0.16. (GH-131839)Steve Dower2025-03-282-0/+13
| | | | | The bin tag is 3.0.16.1 because we rebuilt without uplink support to fix gh-131804. This PR also prevents making calls that are now unsafe without uplink, and updates the tests to property interpret these failures as unsupported.
* [3.12] gh-131740: Update PyUnstable_GC_VisitObjects to traverse perm gen ↵Donghee Na2025-03-281-10/+20
| | | | (#131828)
* [3.12] gh-131418: remove unused legacy typedefs in `{md5,sha1}module.c` ↵Miss Islington (bot)2025-03-232-18/+0
| | | | | | | | | | | | | | | (GH-131420) (#131619) gh-131418: remove unused legacy typedefs in `{md5,sha1}module.c` (GH-131420) - Remove legacy typedefs `MD5_INT32` and `MD5_INT64` in `Modules/md5module.c` - Remove legacy typedefs `SHA1_INT32` and `SHA1_INT64` in `Modules/sha1module.c`. Those legacy typedefs were used to detect whether the host platform could correctly implement MD5 and SHA-1, but this is no longer needed as we now fallback to HACL* implementations. (cherry picked from commit a9a399f0ecfeeff91425cc089057f1b95799853b) Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* [3.12] gh-131261: Update libexpat to 2.7.0 (CVE-2024-8176) (GH-131361)Miss Islington (bot)2025-03-183-160/+424
| | | | | | | | [3.13] gh-131261: Update libexpat to 2.7.0 (CVE-2024-8176) (cherry picked from commit bb0268f60dfe903a9bdb8d84104247a9318c6b18) (cherry picked from commit 6af54d298d5135302037cdda7a1f5535e48cb1b6) Co-authored-by: Gregory P. Smith <greg@krypto.org>
* [3.12] gh-127667: refactor and improve `_hashopenssl.c` error branches ↵Bénédikt Tran2025-03-181-70/+111
| | | | | | | | | | | | | (#131145) (#131348) gh-127667: refactor and improve `_hashopenssl.c` error branches (#131145) Refactor `_setException()` into different helpers that can be used separately: - set_ssl_exception_from_errcode(): set an exception from an explicit SSL error code. - raise_ssl_error(): set an exception from the last SSL error code or use a user-defined message. - notify_ssl_error_occurred(): same as raise_ssl_error() but with a generic default message. (cherry-picked from commit ac50ece6cea8745834e4ec0a9617809a51245bfc).
* [3.12] gh-131181: Assert that PyObject_stgdict isn't NULL for PyCData (#131188)Alexandra2025-03-131-1/+5
| | | | PyCData types have stgdict, so `PyObject_stgdict` can not return NULL. Add an assert to make this clear.
* [3.12] gh-131082: Add missing guards for WIN32_LEAN_AND_MEAN (#131044) (#131085)Victor Stinner2025-03-111-1/+1
| | | | | | | gh-131082: Add missing guards for WIN32_LEAN_AND_MEAN (#131044) (cherry picked from commit de8818ae233b8e7722aa5d6f91d4b5a04bd039df) Co-authored-by: Max Bachmann <kontakt@maxbachmann.de>
* [3.12] gh-130824: Add tests for NULL in PyLong_*AndOverflow functions ↵Petr Viktorin2025-03-051-2/+2
| | | | | | | | | (GH-130828) (GH-130876) (cherry picked from commit 90130807d9c5a55b2a64024f5dfbee4785b9a27c) Co-authored-by: Peter Bierma <zintensitydev@gmail.com> Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
* [3.12] gh-127667: fix memory leaks in `hashlib` (GH-127668) (#130783)Bénédikt Tran2025-03-031-56/+78
| | | | | | | | | | gh-127667: fix memory leaks in `hashlib` (GH-127668) - Correctly handle `NULL` values returned by `EVP_MD_CTX_md`. - Correctly free resources in error branches. - Consistently suppress `_setException()` return value when needed. - Collapse `_setException() + return NULL` into a single statement. (cherry-picked from commit 097846502b7f33cb327d512e2a396acf4f4de46e)
* [3.12] gh-129405: Fix doc for Py_mod_multiple_interpreters default, and add ↵Petr Viktorin2025-02-271-0/+17
| | | | test (GH-129406) (GH-130510)
* [3.12] gh-130163: Fix crashes related to PySys_GetObject() (GH-130503) ↵Serhiy Storchaka2025-02-266-32/+78
| | | | | | | | | | | | | | (GH-130556) (GH-130576) The use of PySys_GetObject() and _PySys_GetAttr(), which return a borrowed reference, has been replaced by using one of the following functions, which return a strong reference and distinguish a missing attribute from an error: _PySys_GetOptionalAttr(), _PySys_GetOptionalAttrString(), _PySys_GetRequiredAttr(), and _PySys_GetRequiredAttrString(). (cherry picked from commit 0ef4ffeefd1737c18dc9326133c7894d58108c2e) (cherry picked from commit 7c1b76fce8c8df00da38830f72dbdde6881a33be) (cherry picked from commit 2ab7e1135a2d5ca45b60881ece27729e4fc0ee8b)
* [3.12] gh-130151: Fix reference leaks in `_hashlib.hmac_{new,digest}` ↵Bénédikt Tran2025-02-251-18/+18
| | | | | | | | | | (GH-130152) (#130539) gh-130151: Fix reference leaks in `_hashlib.hmac_{new,digest}` (GH-130152) * fix leak in `_hashlib.hmac_new` * fix leak in `hmac_digest` * fix exception type in `_hashlib.HMAC.copy` (cherry picked from commit 071820113f11b8f6a21f98652d0840e10268114c)
* [3.12] gh-129838: Don't redefine _Py_NO_SANITIZE_UNDEFINED (GH-129839) (#130365)Miss Islington (bot)2025-02-201-4/+5
| | | | | | | | | | gh-129838: Don't redefine _Py_NO_SANITIZE_UNDEFINED (GH-129839) Newer GCC versions accept both __attribute__((no_sanitize("undefined"))) and __attribute__((no_sanitize_undefined)) so check that the macro is not already defined. (cherry picked from commit 568db400ff07240a5ed6f263af281405ccaec716) Co-authored-by: Collin Funk <collin.funk1@gmail.com>
* [3.12] gh-129603: Don't segfault if sqlite3.Row description is None ↵Erlend E. Aasland2025-02-101-10/+15
| | | | | (#129604) (#129924) (cherry picked from commit 7e6ee50b6b8c760bcefb92ab4ddbc3d85d37a834)
* [3.12] gh-129502: Fix handling errors in ctypes callbacks (GH-129504) (#129639)Serhiy Storchaka2025-02-041-34/+26
| | | | | | | Unlikely errors in preparing arguments for ctypes callback are now handled in the same way as errors raised in the callback of in converting the result of the callback -- using sys.unraisablehook() instead of sys.excepthook() and not setting sys.last_exc and other variables. (cherry picked from commit 9d63ae5fe52d95059ab1bcd4cbb1f9e17033c897)
* [3.12] gh-129345: null check for indent syslogmodule (GH-129348) (#129443)Miss Islington (bot)2025-02-031-1/+1
| | | | | | gh-129345: null check for indent syslogmodule (GH-129348) (cherry picked from commit 25cf79a0829422bd8479ca0c13c72b769422077b) Co-authored-by: Burkov Egor <xwooffie@gmail.com>
* [3.12] gh-129539: Include sysexits.h before checking EX_OK (#129590) (#129609)Victor Stinner2025-02-031-4/+4
| | | | | | | | | [3.13] gh-129539: Include sysexits.h before checking EX_OK (#129590) Previously, the macro would be redefined when the header was included. (cherry picked from commit 65f3432ac32f92bc3d8b7b11103a56c5a70049c0) Co-authored-by: Collin Funk <collin.funk1@gmail.com>
* [3.12] gh-111495: Add PyFile tests (#129449) (#129477) (#129501)Victor Stinner2025-01-312-5/+240
| | | | | | | | | | | | | | | | | | | [3.13] gh-111495: Add PyFile tests (#129449) (#129477) gh-111495: Add PyFile tests (#129449) Add tests for the following functions in test_capi.test_file: * PyFile_FromFd() * PyFile_GetLine() * PyFile_NewStdPrinter() * PyFile_WriteObject() * PyFile_WriteString() * PyObject_AsFileDescriptor() Remove test_embed.StdPrinterTests which became redundant. (cherry picked from commit 4ca9fc08f89bf7172d41e523d9e520eb1729ee8c) (cherry picked from commit 9a59a51733e58b6091ca9157fd43cc9d0f93a96f)
* [3.12] gh-129409: Fix Integer overflow - SEGV while writing data more than ↵Miss Islington (bot)2025-01-291-1/+1
| | | | | | | | 2GB in CSV file (GH-129413) (#129437) gh-129409: Fix Integer overflow - SEGV while writing data more than 2GB in CSV file (GH-129413) (cherry picked from commit 97b0ef05d987ebef354512b516a246feb411e815) Co-authored-by: Srinivas Reddy Thatiparthy (తాటిపర్తి శ్రీనివాస్ రెడ్డి) <thatiparthysreenivas@gmail.com>
* [3.12] gh-129346: Handle allocation errors for SQLite aggregate context ↵Miss Islington (bot)2025-01-271-0/+5
| | | | | | | (GH-129347) (#129373) (cherry picked from commit 379ab856f59423c570333403a7d5d72f3ea82d52) Co-authored-by: Erlend E. Aasland <erlend@python.org>
* [3.12] gh-129185: Fix PyTraceMalloc_Untrack() at Python exit (#129191) ↵Victor Stinner2025-01-232-2/+12
| | | | | | | | | | | | | | | | | | (#129217) (#129221) [3.13] gh-129185: Fix PyTraceMalloc_Untrack() at Python exit (#129191) (#129217) gh-129185: Fix PyTraceMalloc_Untrack() at Python exit (#129191) Support calling PyTraceMalloc_Track() and PyTraceMalloc_Untrack() during late Python finalization. * Call _PyTraceMalloc_Fini() later in Python finalization. * Test also PyTraceMalloc_Untrack() without the GIL * PyTraceMalloc_Untrack() now gets the GIL. * Test also PyTraceMalloc_Untrack() in test_tracemalloc_track_race(). (cherry picked from commit 46c7e13c055c218e18b0424efc60965e6a5fe6ea) (cherry picked from commit e3b3e01d6a6f43c15890d14f139f38155601643a)
* [3.12] gh-111178: fix UBSan failures in ↵Miss Islington (bot)2025-01-201-2/+5
| | | | | | | | | | `Modules/_multiprocessing/semaphore.c` (GH-129084) (#129101) gh-111178: fix UBSan failures in `Modules/_multiprocessing/semaphore.c` (GH-129084) fix UBSan failures for `SemLockObject` (cherry picked from commit 5ed5572cac7ef204767ddf8e8888e15672ba558e) Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* [3.12] Fix a typo in `syslog`'s error message (GH-129029) (#129050)Miss Islington (bot)2025-01-201-1/+1
| | | | | | Fix a typo in `syslog`'s error message (GH-129029) (cherry picked from commit 9b1c1817af30e609b7cbfacbe5b1e73e21dc9e37) Co-authored-by: Tomas R <tomas.roun8@gmail.com>
* [3.12] gh-111495: Add more tests on PyEval C APIs (#122789) (#128987) (#129023)Victor Stinner2025-01-194-15/+79
| | | | | | | | | | | * Add Lib/test/test_capi/test_eval.py * Add Modules/_testlimitedcapi/eval.c (cherry picked from commit bf8b3746398ea756c97e3cf263d63ca3ce3a544e) * gh-111495: Fix refleaks in test_capi.test_eval tests (#122851) (cherry picked from commit b4a316087c32d83e375087fd35fc511bc430ee8b) (cherry picked from commit 430ccbc009aa7a2da92b85d7aeadd39e1666e875)
* [3.12] gh-128679: Fix tracemalloc.stop() race conditions (#128897) (#129022)Victor Stinner2025-01-192-5/+100
| | | | | | | | | | | | | | | | | [3.13] gh-128679: Fix tracemalloc.stop() race conditions (#128897) tracemalloc_alloc(), tracemalloc_realloc(), PyTraceMalloc_Track(), PyTraceMalloc_Untrack() and _PyTraceMalloc_TraceRef() now check tracemalloc_config.tracing after calling TABLES_LOCK(). _PyTraceMalloc_Stop() now protects more code with TABLES_LOCK(), especially setting tracemalloc_config.tracing to 1. Add a test using PyTraceMalloc_Track() to test tracemalloc.stop() race condition. Call _PyTraceMalloc_Init() at Python startup. (cherry picked from commit 6b47499510e47c0401d1f6cca2660fc12c496e39)
* [3.12] gh-128911: Add tests on the PyImport C API (GH-128915) (GH-128960) ↵Serhiy Storchaka2025-01-194-1/+292
| | | | | | | | | | | | | | (#128989) * Add Modules/_testlimitedcapi/import.c * Add Lib/test/test_capi/test_import.py * Remove _testcapi.check_pyimport_addmodule(): tests already covered by newly added tests. (cherry picked from commit 34ded1a1a10204635cad27830fcbee2f8547e8ed) Co-authored-by: Victor Stinner <vstinner@python.org> Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> (cherry picked from commit d95ba9fa1110534b7247fa2ff12b90e930c93256)
* [3.12] gh-128961: Fix exhausted array iterator crash in __setstate__() ↵Miss Islington (bot)2025-01-181-5/+10
| | | | | | | (GH-128962) (#128977) (cherry picked from commit 4dade055f4e18a7e91bc70293abb4db745ad16ca) Co-authored-by: Tomasz Pytel <tompytel@gmail.com>
* [3.12] gh-58689: Fix os.kill() error handling on Windows (GH-128932) (#128938)Miss Islington (bot)2025-01-171-18/+9
| | | | | | gh-58689: Fix os.kill() error handling on Windows (GH-128932) (cherry picked from commit 939df0f9f6a76e0916b3ba53841e1413ab90952e) Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.12] gh-127614: Correctly check for ttyname_r() in configure (#128503) ↵Erlend E. Aasland2025-01-072-4/+4
| | | | | | | | (#128599) (cherry picked from commit e08b28235a863323ca3a7e444776bb7803e77caf) PR #14868 replaced the ttyname() call with ttyname_r(), but the old check remained.
* [3.12] gh-123925: Fix building curses on platforms without libncursesw ↵Miss Islington (bot)2025-01-021-1/+1
| | | | | | | (GH-128405) (GH-128408) (cherry picked from commit 8d16919a06a55a50756bf083221a6f6cab43de50) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-128217: Validate the normalized_environment variable instead of the ↵Miss Islington (bot)2024-12-241-1/+1
| | | | | | | similarly named function (GH-128220) (cherry picked from commit 3ddd70ceaaf67b111ee4251817e150396d6d10a9) Co-authored-by: Sergey Muraviov <smurav@mail.ru>
* [3.12] gh-126742: Add _PyErr_SetLocaleString, use it for gdbm & dlerror ↵Bénédikt Tran2024-12-178-53/+75
| | | | | | | | | messages (GH-126746) (GH-128027) - Add a helper to set an error from locale-encoded `char*` - Use the helper for gdbm & dlerror messages Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.12] gh-126554: ctypes: Correctly handle NULL dlsym values (GH-126555) ↵Bénédikt Tran2024-12-172-30/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (GH-127764) For dlsym(), a return value of NULL does not necessarily indicate an error [1]. Therefore, to avoid using stale (or NULL) dlerror() values, we must: 1. clear the previous error state by calling dlerror() 2. call dlsym() 3. call dlerror() If the return value of dlerror() is not NULL, an error occured. In ctypes we choose to treat a NULL return value from dlsym() as a "not found" error. This is the same as the fallback message we use on Windows, Cygwin or when getting/formatting the error reason fails. [1]: https://man7.org/linux/man-pages/man3/dlsym.3.html Signed-off-by: Georgios Alexopoulos <grgalex42@gmail.com> Signed-off-by: Georgios Alexopoulos <grgalex@ba.uoa.gr> Co-authored-by: George Alexopoulos <giorgosalexo0@gmail.com> Co-authored-by: Peter Bierma <zintensitydev@gmail.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Petr Viktorin <encukou@gmail.com>
* [3.12] gh-127257: ssl: Raise OSError for ERR_LIB_SYS (GH-127361) (GH-127905)Miss Islington (bot)2024-12-161-0/+10
| | | | | | | | | | | | | | | | | | | gh-127257: ssl: Raise OSError for ERR_LIB_SYS (GH-127361) From the ERR_raise manpage: ERR_LIB_SYS This "library code" indicates that a system error is being reported. In this case, the reason code given to `ERR_raise()` and `ERR_raise_data()` *must* be `errno(3)`. This PR only handles ERR_LIB_SYS for the high-lever error types SSL_ERROR_SYSCALL and SSL_ERROR_SSL, i.e., not the ones where OpenSSL indicates it has some more information about the issue. (cherry picked from commit f4b31edf2d9d72878dab1f66a36913b5bcc848ec) Co-authored-by: Petr Viktorin <encukou@gmail.com>
* [3.12] gh-127870: Detect recursive calls in ctypes _as_parameter_ handling ↵Victor Stinner2024-12-131-1/+21
| | | | | | | (#127872) (#127918) gh-127870: Detect recursive calls in ctypes _as_parameter_ handling (#127872) (cherry picked from commit 6ff38fc4e2af8e795dc791be6ea596d2146d4119)
* [3.12] gh-122431: Disallow negative values in `readline.append_history_file` ↵Miss Islington (bot)2024-12-051-0/+6
| | | | | | | | | (GH-122469) (#127642) gh-122431: Disallow negative values in `readline.append_history_file` (GH-122469) (cherry picked from commit 208b0fb645c0e14b0826c0014e74a0b70c58c9d6) Co-authored-by: Peter Bierma <zintensitydev@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.12] gh-93312: Include <sys/pidfd.h> to get PIDFD_NONBLOCK (#127593) (#127631)Victor Stinner2024-12-051-0/+3
| | | | | gh-93312: Include <sys/pidfd.h> to get PIDFD_NONBLOCK (#127593) (cherry picked from commit fcbe6ecdb6ed4dd93b2ee144f89a73af755e2634)
* [3.12] gh-126876: Fix socket internal_select() for large timeout (GH-126968) ↵Miss Islington (bot)2024-12-031-1/+4
| | | | | | | | | | | | | (#127003) gh-126876: Fix socket internal_select() for large timeout (GH-126968) If the timeout is larger than INT_MAX, replace it with INT_MAX, in the poll() code path. Add an unit test. (cherry picked from commit b3687ad454c4ac54c8599a10f3ace8a13ca48915) Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.12] gh-126618: fix repr(itertools.count(sys.maxsize)) (GH-127048) (#127510)Sergey B Kirpichev2024-12-021-6/+3
| | | | | (cherry picked from commit 930ba0ce605eee9e3b992fa368b00a3f2b7dc4c1) Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* [3.12] gh-127190: Fix local_setattro() error handling (GH-127366) (#127368)Miss Islington (bot)2024-11-281-1/+1
| | | | | | | | | gh-127190: Fix local_setattro() error handling (GH-127366) Don't make the assumption that the 'name' argument is a string. Use repr() to format the 'name' argument instead. (cherry picked from commit 20657fbdb14d50ca4ec115da0cbef155871d8d33) Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.12] gh-124008: Fix calculation of the number of written bytes for the ↵Miss Islington (bot)2024-11-271-28/+90
| | | | | | | | | | | | | | | Windows console (GH-124059) (GH-127326) Since MultiByteToWideChar()/WideCharToMultiByte() is not reversible if the data contains invalid UTF-8 sequences, use binary search to calculate the number of written bytes from the number of written characters. Also fix writing incomplete UTF-8 sequences. Also fix handling of memory allocation failures. (cherry picked from commit 3cf83d91a5baf3600dd60f7aaaf4fb6d73c4b8a9) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* [3.12] gh-127182: Fix `io.StringIO.__setstate__` crash when `None` is the ↵Miss Islington (bot)2024-11-251-14/+16
| | | | | | | | | first value (GH-127219) (#127263) gh-127182: Fix `io.StringIO.__setstate__` crash when `None` is the first value (GH-127219) (cherry picked from commit a2ee89968299fc4f0da4b5a4165025b941213ba5) Co-authored-by: sobolevn <mail@sobolevn.me> Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.12] gh-109746: Make _thread.start_new_thread delete state of new thread ↵Serhiy Storchaka2024-11-221-0/+1
| | | | | | | | | | | | on its startup failure (GH-109761) (GH-127173) If Python fails to start newly created thread due to failure of underlying PyThread_start_new_thread() call, its state should be removed from interpreter' thread states list to avoid its double cleanup. (cherry picked from commit ca3ea9ad05c3d876a58463595e5b4228fda06936) Co-authored-by: Radislav Chugunov <52372310+chgnrdv@users.noreply.github.com>