]> 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:14:43 +0000 (20:14 +0200)
commit934e10b4a388b13c2bcd8fbac8cd8cc4a641b1b0
tree5ef37125076a989cfe9fb4a67aba63591f90bcac
parent1b379f5858766867932eff72db19cf435fedd512
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