child_process: fix handleless NODE_HANDLE handling · nodejs/node@2bc7c3a · GitHub
Skip to content

Commit 2bc7c3a

Browse files
santigimenoMylesBorins
authored andcommitted
child_process: fix handleless NODE_HANDLE handling
It is possible that `recvmsg()` may return an error on ancillary data reception when receiving a `NODE_HANDLE` message (for example `MSG_CTRUNC`). This would end up, if the handle type was `net.Socket`, on a `message` event with a non null but invalid `sendHandle`. To improve the situation, send a `NODE_HANDLE_NACK` that'll cause the sending process to retransmit the message again. In case the same message is retransmitted 3 times without success, close the handle and print a warning. Fixes: #9706 PR-URL: #13235 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
1 parent 0bcbcca commit 2bc7c3a

1 file changed

Lines changed: 45 additions & 16 deletions

File tree

lib/internal/child_process.js

Lines changed: 45 additions & 16 deletions

0 commit comments

Comments
 (0)