Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a warning message about PyOS_snprintf #95993

Merged
merged 1 commit into from Oct 7, 2022

Conversation

eric-wieser
Copy link
Contributor

@eric-wieser eric-wieser commented Aug 15, 2022

The top google result for "determine sprintf buffer size" is https://stackoverflow.com/a/3923207/102441, which advocates code along the lines of

int size = snprintf(NULL, 0, "%d", 132);
char * a = malloc(size + 1);
sprintf(a, "%d", 132);

Unfortunately, this does not work for PyOS_snprintf, as it includes an assert to ensure the arguments are not NULL and 0.

This PR simply documents this limitation.

@JelleZijlstra JelleZijlstra merged commit c7b2204 into python:main Oct 7, 2022
@miss-islington
Copy link
Contributor

Thanks @eric-wieser for the PR, and @JelleZijlstra for merging it 🌮🎉.. I'm working now to backport this PR to: 3.10, 3.11.
🐍🍒⛏🤖

@bedevere-bot
Copy link

GH-98047 is a backport of this pull request to the 3.11 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.11 bug and security fixes label Oct 7, 2022
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 7, 2022
(cherry picked from commit c7b2204)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@bedevere-bot
Copy link

GH-98048 is a backport of this pull request to the 3.10 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.10 only security fixes label Oct 7, 2022
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Oct 7, 2022
(cherry picked from commit c7b2204)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
miss-islington added a commit that referenced this pull request Oct 7, 2022
(cherry picked from commit c7b2204)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
miss-islington added a commit that referenced this pull request Oct 7, 2022
(cherry picked from commit c7b2204)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
mpage pushed a commit to mpage/cpython that referenced this pull request Oct 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants