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

gh-104372: Use non-Raw malloc for c_fds_to_keep in _posixsubprocess #104697

Merged
merged 1 commit into from
May 20, 2023

Conversation

gpshead
Copy link
Member

@gpshead gpshead commented May 20, 2023

As the code could ask for 0 length.

This is a tiny fix to a theoretical issue with PR #104518.

As the code could ask for 0 length.
@gpshead gpshead added type-bug An unexpected behavior, bug, or error skip news labels May 20, 2023
@gpshead gpshead self-assigned this May 20, 2023
@gpshead gpshead marked this pull request as ready for review May 20, 2023 16:43
@gpshead gpshead enabled auto-merge (squash) May 20, 2023 16:44
@gpshead gpshead merged commit d1732fe into python:main May 20, 2023
@gpshead gpshead deleted the subprocess-c_fds_to_keep-non-raw branch May 20, 2023 17:18
gpshead added a commit to gpshead/cpython that referenced this pull request May 23, 2023
gpshead added a commit that referenced this pull request May 24, 2023
… signal safety gh-104518 (#104785)

Move all of the Python C API calls into the parent process up front
instead of doing PyLong_AsLong and PyErr_Occurred and PyTuple_GET from
the post-fork/vfork child process.

Much of this was long overdue. We shouldn't have been using PyTuple and
PyLong APIs within all of these low level functions anyways.

This is a backport of c649df6 for #104518 and the tiny adjustment in d1732fe #104697.

Backporting this allows backporting of the real bug fix that requires it.

Co-authored-by: Gregory P. Smith [Google] <greg@krypto.org>
@vstinner
Copy link
Member

PyMem_RawMalloc(0) is well defined: https://docs.python.org/dev/c-api/memory.html#c.PyMem_RawMalloc

But I prefer to use PyMem_Malloc() when the GIL is held, it's usually faster ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip news type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants