Skip to content

[3.10] gh-158446: Reject float format precision near INT_MAX (GH-158474) - #158482

Merged
pablogsal merged 1 commit into
python:3.10from
gpshead:backport-b7b4f3e-3.10
Oct 1, 2026
Merged

pablogsal merged 1 commit into
python:3.10from
gpshead:backport-b7b4f3e-3.10

Conversation

@gpshead

@gpshead gpshead commented Sep 30, 2026

Copy link
Copy Markdown
Member

Formatting a float or complex with a precision within about 1000 of
INT_MAX could crash or produce incorrect output.
PyOS_double_to_string() now raises ValueError("precision too big") for
such precisions, as the format string parsers already do for
precisions above INT_MAX.

The limit applies regardless of presentation type or value, so a few
calls that previously succeeded (inf, nan, or 'g' with such a
precision) now raise as well.
(cherry picked from commit b7b4f3e)

Co-authored-by: Gregory P. Smith 68491+gpshead@users.noreply.github.com

…ythonGH-158474)

Formatting a float or complex with a precision within about 1000 of
INT_MAX could crash or produce incorrect output.
PyOS_double_to_string() now raises ValueError("precision too big") for
such precisions, as the format string parsers already do for
precisions above INT_MAX.

The limit applies regardless of presentation type or value, so a few
calls that previously succeeded (inf, nan, or 'g' with such a
precision) now raise as well.
(cherry picked from commit b7b4f3e)
@bedevere-app bedevere-app Bot added type-bug An unexpected behavior, bug, or error type-security A security issue labels Sep 30, 2026
@pablogsal
pablogsal merged commit 8eb079f into python:3.10 Oct 1, 2026
15 checks passed
icanhasmath pushed a commit to ActiveState/cpython that referenced this pull request Oct 28, 2026
…ythonGH-158474) (python#158482)

Formatting a float or complex with a precision within about 1000 of
INT_MAX could crash or produce incorrect output.
PyOS_double_to_string() now raises ValueError("precision too big") for
such precisions, as the format string parsers already do for
precisions above INT_MAX.

The limit applies regardless of presentation type or value, so a few
calls that previously succeeded (inf, nan, or 'g' with such a
precision) now raise as well.
(cherry picked from commit b7b4f3e)
(cherry picked from commit 8eb079f)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-blocker type-bug An unexpected behavior, bug, or error type-security A security issue

Projects

Development

Successfully merging this pull request may close these issues.

2 participants