This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kulikjak
Recipients kulikjak
Date 2020-12-16.10:05:22
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1608113122.79.0.244683118693.issue42655@roundup.psfhosted.org>
In-reply-to
Content
C function `subprocess_fork_exec` incorrectly transforms gids from the `extra_groups` argument because it passes `unsigned long*` rather than `pid_t*` into the `_Py_Gid_Converter()`. Assuming that `gid_t` is 32 bit and `unsigned long` is 64 bit (which it often is), `*(gid_t *)p = gid;` then incorrectly overwrites only part of that variable, leaving the other one filled with previous garbage.

I found this on Solaris, but I am pretty sure that this doesn't work correctly on Linux as well, since both use `unsigned int` as `gid_t`.
History
Date User Action Args
2020-12-16 10:05:22kulikjaksetrecipients: + kulikjak
2020-12-16 10:05:22kulikjaksetmessageid: <1608113122.79.0.244683118693.issue42655@roundup.psfhosted.org>
2020-12-16 10:05:22kulikjaklinkissue42655 messages
2020-12-16 10:05:22kulikjakcreate