]> 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>
Thu, 10 Jun 2021 10:41:29 +0000 (12:41 +0200)
commitaa310ebfba3d49a0b6b03a103b969731a8136a73
tree98e5d0a07f484a457c08dd2ce560acf1c237af04
parent4ab5c88da28780334f48eae56db52d8e77c871cf
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: 225343
Reported by: Borja Marcos <borjam (at) sarenet.es>
Tested by: jkim@
lib/libcasper/libcasper/libcasper_impl.c
lib/libcasper/libcasper/libcasper_impl.h
lib/libcasper/libcasper/service.c
lib/libcasper/libcasper/zygote.c