[php-src] PR #24335: Fix proc_open() null descriptor not inheritable on Windows
| From: | jorgsowa | Date: | Wed, 14 Oct 2026 21:31:15 +0000 |
| Subject: | [php-src] PR #24335: Fix proc_open() null descriptor not inheritable on Windows | ||
| Groups: | php.git-pulls | ||
| Request: | Send a blank email to git-pulls+get-39446@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/php-src/pull/24335
Author: jorgsowa
On Windows, proc_open() with a ['null'] descriptor opens nul via CreateFileA() with NULL
security attributes. The handle is therefore not inheritable, yet it is passed to CreateProcessW()
through STARTF_USESTDHANDLES. The child gets an invalid std handle.
The pipe handles already use
php_proc_open_security. This change uses it for
nul too, so the handle is inherited.
This has been wrong since the null descriptor was added
([6285bb52faf](https://github.com/php/php-src/commit/6285bb52faf)), but it only showed up once
proc_open_null.phpt and proc_open_redirect.phpt started running the child
php with TEST_PHP_EXTRA_ARGS ([GH-11669](https://github.com/php/php-src/pull/11669)).
Fixes failing CI.