Commit graph

14473 commits

Author SHA1 Message Date
Stan Ulbrych
c5ec267311
[3.13] gh-101828: Fix jisx0213 codecs removing null characters (gh-139340) (gh-140112)
* [3.13] gh-101828: Fix `jisx0213` codecs removing null characters (gh-139340)
(cherry picked from commit 87eadce3e0)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>

* Accidentally removed line
2025-10-14 14:48:29 +00:00
Sergey B Kirpichev
bfb9639352
[3.13] gh-102431: Clarify constraints on operands of Decimal logical operations (GH-102836) (#140106)
* [3.13] gh-102431: Clarify constraints on operands of Decimal logical operations (GH-102836)

Sync C/Python implementation of the decimal: logical_ops for contexts.
(cherry picked from commit 6ecf77dbde)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
2025-10-14 15:45:02 +02:00
Victor Stinner
7b49ec784a
[3.13] gh-139748: Fix socket.if_nametoindex() Argument Clinic (#139815)
gh-139748: Fix socket.if_nametoindex() Argument Clinic

Fix a reference leak.
2025-10-08 23:24:30 +00:00
Kumar Aditya
dac827cb98
[3.13] gh-139748: fix leaks in AC error paths when using unicode FS-b… (#139792)
* [3.13] gh-139748: fix leaks in AC error paths when using unicode FS-based converters (GH-139765)
(cherry picked from commit b04a57deef)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-10-08 22:21:49 +05:30
Stan Ulbrych
0404ca7201
[3.13] gh-137920: Fix semantically relevant typo in curses.window.attron (GH-137940) (GH-138507)
Originally authored by: vict-Yang

(cherry picked from commit ce70a57bc0)
2025-10-07 22:22:18 +02:00
Bénédikt Tran
7bb51bd5be
[3.13] gh-139283: correctly handle size limit in cursor.fetchmany() (GH-139296) (#139444)
Passing a negative or zero size to `cursor.fetchmany()` made it fetch all rows
instead of none.

While this could be considered a security vulnerability, it was decided to treat
this issue as a regular bug as passing a non-sanitized *size* value in the first
place is not recommended.
(cherry picked from commit bc172ee830)
2025-10-07 13:33:40 +02:00
Miss Islington (bot)
be8f3a68f4
[3.13] gh-139327: fix some reference leaks in sqlite3 error branches (GH-139328) (#139472)
(cherry picked from commit d0a3eff9d6)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-10-07 13:32:51 +02:00
Sebastian Pipping
69ab8fbb85
[3.13] gh-139400: Make sure that parent parsers outlive their subparsers in pyexpat (GH-139403) (GH-139608)
Within libexpat, a parser created via `XML_ExternalEntityParserCreate`
is relying on its parent parser throughout its entire lifetime.
Prior to this fix, is was possible for the parent parser to be
garbage-collected too early.

(cherry picked from commit 6edb2ddb5f)
2025-10-06 15:17:37 +02:00
Miss Islington (bot)
f48128b6b3
[3.13] gh-139210: Fix use-after-free in xml.etree.ElementTree.iterparse() (GH-139211) (GH-139456)
(cherry picked from commit c86eb4d3ac)

Co-authored-by: Ken Jin <kenjin@python.org>
2025-09-30 18:14:44 +00:00
Miss Islington (bot)
a461f25ce6
[3.13] gh-139312: Update bundled libexpat to 2.7.3 (GH-139319) (#139377)
gh-139312: Update bundled libexpat to 2.7.3 (GH-139319)

+ Blurb
+ Update sbom.spdx.json
(cherry picked from commit 48d0d0dd97)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2025-09-27 08:19:09 +00:00
Miss Islington (bot)
d1f6b392e4
[3.13] gh-130567: Fix possible crash in locale.strxfrm() (GH-138940) (GH-139266)
On some macOS versions there was an off-by-one error in wcsxfrm() which
caused writing past the end of the array if its size was not calculated
by running wcsxfrm() first.
(cherry picked from commit 5854cf38a2)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
2025-09-24 13:48:08 +02:00
Petr Viktorin
135198dd5d
[3.13] gh-138008: Fix segfaults in _ctypes due to invalid argtypes (GH-138285) (#138746)
(cherry picked from commit 1ce05537a3)

Signed-off-by: Nguyen Viet Dung <29406816+magnified103@users.noreply.github.com>
Signed-off-by: Nguyen Viet Dung <dung@ekluster.com>
Co-authored-by: Dung Nguyen <dung@ekluster.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Yongzi Li <204532581+Yzi-Li@users.noreply.github.com>
2025-09-18 12:46:05 +01:00
Miss Islington (bot)
ccf4b3e021
[3.13] gh-138998: Upgrade vendored expat to 2.7.2 (GH-138999) (#139025)
(cherry picked from commit 64c876dd68)

Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2025-09-18 12:42:42 +01:00
Erlend E. Aasland
5f84c1d192
[3.13] gh-138736: Fix sqlite3.Connection.blobopen 'row' parameter type and naming (#138738) (#139063)
The 'row' parameter represents a ROWID. Clarify this in docs and docstrings.

(cherry picked from commit 8eb106240f)

Co-authored-by: chiri <chirizxc@proton.me>
2025-09-17 16:26:10 +00:00
Miss Islington (bot)
d8b3a83cf2
[3.13] gh-137490: Fix signal.sigwaitinfo() on NetBSD (GH-137523) (GH-138936)
Handle ECANCELED in the same way as EINTR to work around the Posix
violation in the NetBSD's implementation.
(cherry picked from commit 07d0b95b05)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-09-15 16:43:32 +00:00
Miss Islington (bot)
dbe5e3925b
[3.13] gh-138779: Use the dev_t converter for st_rdev (GH-138780) (GH-138927)
This allows to support device numbers larger than 2**63-1.
(cherry picked from commit 43013f72f0)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-09-15 14:29:57 +00:00
Miss Islington (bot)
7160f9f5d8
[3.13] gh-137017: Ensure Thread.is_alive() only returns False after the underlying OS thread exits (gh-137315) (gh-138917)
(cherry picked from commit aa9ceb1721)

Co-authored-by: Abdul <abdulrasheedibrahim47@gmail.com>
Co-authored-by: Sam Gross <colesbury@gmail.com>
2025-09-15 14:28:05 +01:00
Miss Islington (bot)
6aa7fa0625
[3.13] gh-138659: Typo in the gc module docstring (GH-138660) (#138663)
gh-138659: Typo in the gc module docstring (GH-138660)

docs(gc): fix typo in get_threshold() docstring

Removes a duplicate "the" from the docstring for the `gc.get_threshold()` function.
(cherry picked from commit c006a623e7)

Co-authored-by: Aalaap Dey <65075436+axdeyy@users.noreply.github.com>
2025-09-08 14:39:43 +00:00
Miss Islington (bot)
837df2774f
[3.13] fix comment reference from man 7 signal to man 7 signal-safety (GH-138554) (#138595)
fix comment reference from man 7 signal to man 7 signal-safety (GH-138554)
(cherry picked from commit 2f5ace780b)


docs: fix comment reference from man 7 signal to man 7 signal-safety

Co-authored-by: mqudah <mohghq@gmail.com>
2025-09-06 19:02:33 +00:00
Bénédikt Tran
afec2c70eb
[3.13] gh-116946: fully implement GC protocol for _curses_panel.panel (GH-138333) (#138428)
[3.14] gh-116946: fully implement GC protocol for `_curses_panel.panel` (GH-138333)

This commit fixes possible reference loops via `panel.set_userptr`
by implementing `tp_clear` and `tp_traverse` for panel objects.
(cherry picked from commit 572df47840)
2025-09-06 12:17:57 +02:00
Miss Islington (bot)
a7fd73e43f
[3.13] gh-60462: Fix locale.strxfrm() on Solaris (GH-138242) (GH-138449)
It should interpret the result of wcsxfrm() as a sequence of abstract
integers, not a sequence of Unicode code points or using other encoding
scheme that does not preserve ordering.
(cherry picked from commit 482fd0c811)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-09-03 13:31:23 +00:00
Miss Islington (bot)
06dbf81a56
[3.13] gh-138204: Forbid expansion of a shared anonymous mmap on Linux (GH-138220) (GH-138387)
This is a Linux kernel bug which caused a bus error.
https://bugzilla.kernel.org/show_bug.cgi?id=8691
(cherry picked from commit 33fcb0c4a0)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-09-03 11:33:08 +03:00
Bénédikt Tran
a38f0266df
[3.13] gh-116946: Revert GC protocol for immutable empty heap types (GH-138322, GH-138323, GH-138326) (#138337)
* Revert "[3.13] gh-116946: fully implement GC protocol for `bz2` objects (GH-138266) (#138322)"

This reverts commit 90036f51fe.

* Revert "[3.13] gh-116946: fully implement GC protocol for `lzma` objects (GH-138288) (#138323)"

This reverts commit 828682df86.

* Revert "[3.13] gh-116946: fully implement GC protocol for `_hashlib` objects (GH-138289) (#138326)"

This reverts commit 21b593219a.
2025-09-01 21:14:47 +05:30
Bénédikt Tran
d25d2d6b95
[3.13] gh-116946: fully implement GC protocol for zlib objects (GH-138290) (#138328)
(cherry picked from commit 2a54acf3c3)
2025-09-01 12:25:11 +02:00
Bénédikt Tran
21b593219a
[3.13] gh-116946: fully implement GC protocol for _hashlib objects (GH-138289) (#138326)
(cherry picked from commit 6f1dd9551a)
2025-09-01 12:23:28 +02:00
Bénédikt Tran
828682df86
[3.13] gh-116946: fully implement GC protocol for lzma objects (GH-138288) (#138323)
(cherry picked from commit 3ea16f990f)
2025-09-01 12:22:06 +02:00
Bénédikt Tran
90036f51fe
[3.13] gh-116946: fully implement GC protocol for bz2 objects (GH-138266) (#138322)
(cherry picked from commit 9be91f6a20)
2025-09-01 12:21:40 +02:00
Miss Islington (bot)
502ca0d1ad
[3.13] bpo-41839: Fix error checking in sched_get_priority_ functions (GH-22374) (GH-138202)
(cherry picked from commit bbcb75c986)

Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>
2025-08-27 18:05:36 +00:00
Serhiy Storchaka
59068dfcf4
[3.13] gh-137986: Fix and improve the csv functions docstrings (GH-137987) (GH-138108)
The csv.register_dialect() docstring no longer imply that it returns a
dialect.
All functions have now signatures.
(cherry picked from commit aa1dbd4dde)

Co-authored-by: maurycy <5383+maurycy@users.noreply.github.com>
2025-08-24 08:37:41 +00:00
Gregory P. Smith
9face218e7
[3.13] gh-87135: Hang non-main threads that attempt to acquire the GIL during finalization (GH-105805) (GH-137827)
* [3.13] gh-87135: Hang non-main threads that attempt to acquire the GIL during finalization (GH-105805)

Instead of surprise crashes and memory corruption, we now hang threads that attempt to re-enter the Python interpreter after Python runtime finalization has started. These are typically daemon threads (our long standing mis-feature) but could also be threads spawned by extension modules that then try to call into Python. This marks the `PyThread_exit_thread` public C API as deprecated as there is no plausible safe way to accomplish that on any supported platform in the face of things like C++ code with finalizers anywhere on a thread's stack. Doing this was the least bad option.

(cherry picked from commit 8cc5aa47ee)

Co-authored-by: Jeremy Maitin-Shepard <jeremy@jeremyms.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>

* state "3.13.7 and earlier"
* backport: do not add the deprecated marker
* fix Py_IsFinalizing doc ref

---------

Co-authored-by: Jeremy Maitin-Shepard <jeremy@jeremyms.com>
2025-08-17 09:08:14 -07:00
Peter Bierma
da39cb9716
[3.13] gh-137583: Only lock the SSL context, not the SSL socket (GH-137588) (GH-137613)
Fixes a deadlock introduced in 3.13.6.

(cherry picked from commit 55788a9096)
2025-08-11 22:05:13 -04:00
Miss Islington (bot)
8905f7a99b
[3.13] gh-137044: Support large limit values in getrlimit() and setrlimit() (GH-137338) (GH-137507)
* Return large limit values as positive integers instead of negative integers
  in resource.getrlimit().
* Accept large values and reject negative values (except RLIM_INFINITY)
  for limits in resource.setrlimit().
(cherry picked from commit baefaa6cba)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-08-07 09:37:02 +00:00
Bénédikt Tran
3c37483731
[3.13] gh-132710: only use stable _uuid.generate_time_safe() to deduce MAC address (GH-132901) (#134704)
This commit includes the original commit and the NEWS entry that was added separately.

(cherry picked from commit 3bffada467)
(cherry picked from commit 9eb84d83e0)
2025-08-05 07:56:03 +00:00
sobolevn
17392a71ae
[3.13] gh-135839: Fix module_traverse and module_clear in subinterp modules (GH-135937) (GH-135943)
(cherry picked from commit bcc2cbaa7f)
2025-08-04 14:34:47 +02:00
Miss Islington (bot)
a32bd11cb0
[3.13] gh-137273: Fix debug assertion failure in locale.setlocale() on Windows (GH-137300) (GH-137306)
It happened when there were at least 16 characters after dot in the
locale name.
(cherry picked from commit 718e0c89ba)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-08-01 15:06:16 +00:00
Gregory P. Smith
4a37dd6cef
[3.13] gh-134698: Hold a lock when the thread state is detached in ssl (GH-134724) (#137126)
Lock when the thread state is detached.
(cherry picked from commit e047a35b23) or really from the 3.14 backport fd565fdfc9

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2025-07-27 08:30:25 -07:00
Miss Islington (bot)
89f256ecd1
[3.13] gh-126662: naming consistency for signal.ItimerError (GH-126712) (#137123)
gh-126662: naming consistency for `signal.ItimerError` (GH-126712)
(cherry picked from commit d5fa437dfb)

Co-authored-by: Stephen Morton <git@tungol.org>
2025-07-27 09:58:21 +05:30
Zachary Ware
fddb58a5ef
[3.13] gh-136710: Fix bad indentation in os.chdir docstring (GH-136721)
(cherry picked from commit bde808ad6b)

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2025-07-16 16:33:46 +00:00
Miss Islington (bot)
d733a1ed77
[3.13] gh-136549: Fix signature of threading.excepthook() (GH-136559) (GH-136590)
(cherry picked from commit be2c3d284e)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-07-12 16:16:19 +00:00
Miss Islington (bot)
a717ed986d
[3.13] gh-136288: Fix error message in _testcapi/vectorcall.c (GH-136258) (GH-136295)
gh-136288: Fix error message in `_testcapi/vectorcall.c` (GH-136258)

Use the %N format specifier instead of %s and `PyType_GetName`.
(cherry picked from commit d1d5dce14f)

Co-authored-by: William S Fulton <wsf@fultondesigns.co.uk>
2025-07-04 16:17:10 +00:00
Miss Islington (bot)
67c74398fa
[3.13] Fix comments for heapq.siftup_max (GH-135359) (#136233)
Fix comments for `heapq.siftup_max` (GH-135359)
(cherry picked from commit 8f8bdf251a)

Co-authored-by: Alper <alperyoney@fb.com>
Co-authored-by: mpage <mpage@meta.com>
2025-07-03 10:15:01 +00:00
Victor Stinner
e3a277c8d8
[3.13] gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) (#136126)
gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614)

(cherry picked from commit b1056c2a44)

Co-authored-by: Xuanteng Huang <44627253+xuantengh@users.noreply.github.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-07-01 11:26:52 +02:00
Miss Islington (bot)
ad1b0c942d
[3.13] gh-108765: fix comment about macro definitions in _stat.c post GH-108854 (GH-136027) (#136044)
gh-108765: fix comment about macro definitions in `_stat.c` post GH-108854 (GH-136027)
(cherry picked from commit 0141e7f9e6)

Co-authored-by: Lee Dogeon <dev.moreal@gmail.com>
2025-06-27 15:39:18 +00:00
sobolevn
28c5adfca9
[3.13] gh-135839: Fix module_traverse and module_clear in _interpchannelsmodule (GH-135840) (#135919)
(cherry picked from commit dd59c786cf)
2025-06-25 12:25:27 +03:00
Brian Schubert
3e4362812e
[3.13] gh-135855: Raise TypeError When Passing Non-dict Object to _interpreters.set___main___attrs (gh-135903)
(cherry picked from commit 4e6f0d116e, AKA gh-135856)
2025-06-24 16:23:26 -06:00
Eric Snow
666795ae34
[3.13] gh-135698: Fix Cross-interpreter Queue.full() With Negative/Default max_size (gh-135778)
We weren't handling non-positive maxsize values (including the default) properly
in Queue.full().  This change fixes that and adjusts an associated assert.

(cherry picked from commit c5ea8e8, AKA gh-135724)
2025-06-23 19:38:41 +00:00
Miss Islington (bot)
3bfb7da3d7
[3.13] gh-135641: Fix flaky test_capi.test_lock_two_threads test case (gh-135642) (gh-135688)
The mutex may have the `_Py_HAS_PARKED` bit set.
(cherry picked from commit 17ac3933c3)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2025-06-18 18:47:59 +00:00
Miss Islington (bot)
871adc8e9f
[3.13] gh-135321: Always raise a correct exception for BINSTRING argument > 0x7fffffff in pickle (GH-135322) (GH-135383)
(cherry picked from commit 2b8b4774d2)

Co-authored-by: Justin Applegate <70449145+Legoclones@users.noreply.github.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-06-11 14:00:59 +03:00
Serhiy Storchaka
37027ab535
[3.13] gh-135326: Restore support of __index__ in random.getrandbits() (#135332) 2025-06-10 12:41:10 +02:00
Miss Islington (bot)
7620805480
[3.13] gh-134160: Use PyModuleDef.m_free in the example module xxlimited (GH-135174) (GH-135214)
gh-134160: Use PyModuleDef.m_free in the example module xxlimited (GH-135174)
(cherry picked from commit 1adca08d65)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: neonene <53406459+neonene@users.noreply.github.com>
2025-06-07 11:03:32 +02:00