Browse Source

kexec, kcontext: Close service file descriptors

Serj Kalichev 2 years ago
parent
commit
d2388c1bd7
2 changed files with 14 additions and 0 deletions
  1. 7 0
      klish/ksession/kcontext.c
  2. 7 0
      klish/ksession/kexec.c

+ 7 - 0
klish/ksession/kcontext.c

@@ -109,5 +109,12 @@ void kcontext_free(kcontext_t *context)
 
 	kpargv_free(context->pargv);
 
+	if (context->stdin != -1)
+		close(context->stdin);
+	if (context->stdout != -1)
+		close(context->stdout);
+	if (context->stderr != -1)
+		close(context->stderr);
+
 	faux_free(context);
 }

+ 7 - 0
klish/ksession/kexec.c

@@ -101,6 +101,13 @@ void kexec_free(kexec_t *exec)
 
 	faux_list_free(exec->contexts);
 
+	if (exec->stdin != -1)
+		close(exec->stdin);
+	if (exec->stdout != -1)
+		close(exec->stdout);
+	if (exec->stderr != -1)
+		close(exec->stderr);
+
 	faux_buf_free(exec->bufin);
 	faux_buf_free(exec->bufout);
 	faux_buf_free(exec->buferr);