]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
libcasper: fix descriptors numbers
authorMariusz Zaborski <oshogbo@FreeBSD.org>
Wed, 9 Jun 2021 21:46:51 +0000 (23:46 +0200)
committerMariusz Zaborski <oshogbo@FreeBSD.org>
Tue, 15 Jun 2021 18:23:25 +0000 (20:23 +0200)
commit4e2ae05c3ae8c470829b4c3a78aa8c34a7f0b617
tree97092e90f4c45712fd7003405267e4056fbeb607
parent71efecb7eb1ad713f2d4c58f479baaf0bd861db0
libcasper: fix descriptors numbers

Casper services expect that the first 3 descriptors (stdin/stdout/stderr)
will point to /dev/null. Which Casper will ensure later. The Casper
services are forked from the original process. If the initial process
closes one of those descriptors, Casper may reuse one of them for it on
purpose. If this is the case, then renumarate the descriptors used by
Casper to higher numbers. This is done already after the fork, so it
doesn't break the parent process.

PR: 255339
Reported by: Borja Marcos <borjam (at) sarenet.es>
Tested by: jkim@

(cherry picked from commit aa310ebfba3d49a0b6b03a103b969731a8136a73)
lib/libcasper/libcasper/libcasper_impl.c
lib/libcasper/libcasper/libcasper_impl.h
lib/libcasper/libcasper/service.c
lib/libcasper/libcasper/zygote.c