diff options
| author | Roy Marples <roy@marples.name> | 2019-12-10 21:35:49 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2019-12-10 21:35:49 +0000 |
| commit | 808924135d63bc5b455c0a6140e25ed752c22931 (patch) | |
| tree | 152e8029ccac7af75f2463beb510b4ae03662ecb /src/privsep.c | |
| parent | a7d959f815e5d717374865094c564ac36f98ffbd (diff) | |
| download | dhcpcd-808924135d63bc5b455c0a6140e25ed752c22931.tar.xz | |
privsep: Don't close not open fd's
Diffstat (limited to 'src/privsep.c')
| -rw-r--r-- | src/privsep.c | 8 |
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; } |
