summaryrefslogtreecommitdiffstats
path: root/src/privsep.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2019-12-10 21:35:49 +0000
committerRoy Marples <roy@marples.name>2019-12-10 21:35:49 +0000
commit808924135d63bc5b455c0a6140e25ed752c22931 (patch)
tree152e8029ccac7af75f2463beb510b4ae03662ecb /src/privsep.c
parenta7d959f815e5d717374865094c564ac36f98ffbd (diff)
downloaddhcpcd-808924135d63bc5b455c0a6140e25ed752c22931.tar.xz
privsep: Don't close not open fd's
Diffstat (limited to 'src/privsep.c')
-rw-r--r--src/privsep.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/privsep.c b/src/privsep.c
index c3e0f0e5..227a39ff 100644
--- a/src/privsep.c
+++ b/src/privsep.c
@@ -162,11 +162,13 @@ create_sp:
/* We are not root */
if (priv_fd != &ctx->ps_root_fd) {
ps_freeprocesses(ctx, recv_ctx);
- close(ctx->ps_root_fd);
- ctx->ps_root_fd = -1;
+ if (ctx->ps_root_fd != -1) {
+ close(ctx->ps_root_fd);
+ ctx->ps_root_fd = -1;
+ }
}
- if (priv_fd != &ctx->ps_inet_fd) {
+ if (priv_fd != &ctx->ps_inet_fd && ctx->ps_inet_fd != -1) {
close(ctx->ps_inet_fd);
ctx->ps_inet_fd = -1;
}