RFR(xs): 8224181: On child process spawn, child may write to random file descriptor instead of the fail pipe
Thomas Stüfe
thomas.stuefe at gmail.com
Tue Jun 4 13:23:59 UTC 2019
Hi all,
may I please have reviews for this small fix:
Bug: https://bugs.openjdk.java.net/browse/JDK-8224181
cr:
http://cr.openjdk.java.net/~stuefe/webrevs/8224181-on-child-process-spawn--child-may-write-to-wrong-file-descriptor-instead-of-the-fail-pipe/webrev.00/webrev/
In sub process error handling code (WhyCantJonnyExec) child signals error
to parent by writing an error code to the fail pipe. It does that using the
hard wired fail pipe write-end fd (FAIL_FILENO, usually 4). But that only
works as intended after the fail pipe write end has been successfully
dup2'ed to FAIL_FILENO.
If an error happens before that, error code will still be written to
FAIL_FILENO, which may be an invalid file handle - which is almost benign -
or refer to an unrelated file descriptor the child inherited and did not
close yet - which is not good.
Cheers, Thomas
More information about the core-libs-dev
mailing list