FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

gh-159739: Fix crash in _PyTuple_Resize() with an invalid size by gpshead · Pull Request #159804 · python/cpython · GitHub

Repository navigation

gh-159739: Fix crash in _PyTuple_Resize() with an invalid size - #159804

Merged
gpshead merged 3 commits into
python:mainfrom
gpshead:claude/elegant-faraday-p69m3r
Oct 20, 2026
Merged

gpshead merged 3 commits into
python:mainfrom
gpshead:claude/elegant-faraday-p69m3r

Conversation

gpshead commented Oct 19, 2026 •
edited by bedevere-app Bot
Loading

Copy link
Copy Markdown
Member

Fix a crash in _PyTuple_Resize when resizing a non-empty tuple to a
negative or too large size. It now raises SystemError or
MemoryError respectively.

gpshead self-assigned this Oct 19, 2026
gpshead force-pushed the claude/elegant-faraday-p69m3r branch from 339d31a to 48e893e Compare October 19, 2026 22:34
python deleted a comment from python-cla-bot Bot Oct 19, 2026

python-cla-bot Bot commented Oct 19, 2026 •
edited
Loading

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.

Check that the items of a non-empty tuple are released when the
reallocation in _PyTuple_Resize() fails.
_PyTuple_Resize() did not validate newsize for non-empty tuples.

Raise SystemError for a negative size and MemoryError for a too-large size,
like PyTuple_New() already does for the empty-tuple path.
gpshead force-pushed the claude/elegant-faraday-p69m3r branch from 1afc2ec to db04f57 Compare October 19, 2026 22:43
gpshead added needs backport to 3.14 bugs and security fixes needs backport to 3.15 bugs and security fixes labels Oct 19, 2026
It relied on a huge allocation request failing, which is not portable:
TSan aborts on it and it succeeds on wasm32 (WASI).
gpshead marked this pull request as ready for review October 20, 2026 22:59
gpshead merged commit c360884 into python:main Oct 20, 2026
58 checks passed

Copy link
Copy Markdown

Thanks @gpshead for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14, 3.15.
🐍🍒⛏🤖

bedevere-app Bot commented Oct 20, 2026

Copy link
Copy Markdown

GH-159976 is a backport of this pull request to the 3.15 branch.

bedevere-app Bot removed the needs backport to 3.15 bugs and security fixes label Oct 20, 2026

bedevere-app Bot commented Oct 20, 2026

Copy link
Copy Markdown

GH-159977 is a backport of this pull request to the 3.14 branch.

bedevere-app Bot removed the needs backport to 3.14 bugs and security fixes label Oct 20, 2026
gpshead added a commit that referenced this pull request Oct 21, 2026
…GH-159804) (#159976)

gh-159739: Fix crash in _PyTuple_Resize() with an invalid size (GH-159804)

_PyTuple_Resize() did not validate newsize for non-empty tuples.

Raise SystemError for a negative size and MemoryError for a too-large size,
like PyTuple_New() already does for the empty-tuple path.
(cherry picked from commit c360884)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
gpshead added a commit that referenced this pull request Oct 21, 2026
…GH-159804) (#159977)

gh-159739: Fix crash in _PyTuple_Resize() with an invalid size (GH-159804)

_PyTuple_Resize() did not validate newsize for non-empty tuples.

Raise SystemError for a negative size and MemoryError for a too-large size,
like PyTuple_New() already does for the empty-tuple path.
(cherry picked from commit c360884)

Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant


Back | FazBrowse Home | New Git URL