Skip to content

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

Open
gpshead wants to merge 1 commit into
python:3.10from
gpshead:backport-b7b4f3e-3.10
Open

gpshead wants to merge 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting core review 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