Skip to content
New issue

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

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

Already on GitHub? # 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 ;-)

# for free to join this conversation on GitHub. Already have an account? # 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