Fold intercept_closure_reset() into intercept_close().

This commit is contained in:
Todd C. Miller
2021-08-24 13:00:52 -06:00
parent 0aedc965f8
commit 448536e0f7

View File

@@ -73,13 +73,17 @@ struct intercept_closure {
}; };
/* /*
* Reset intercept closure for re-use. * Close intercept fd and free closure.
* Called on EOF from sudo_intercept.so due to program exit.
*/ */
static void static void
intercept_closure_reset(struct intercept_closure *closure) intercept_close(int fd, struct intercept_closure *closure)
{ {
size_t n; size_t n;
debug_decl(intercept_closure_reset, SUDO_DEBUG_EXEC); debug_decl(intercept_close, SUDO_DEBUG_EXEC);
sudo_ev_del(NULL, &closure->ev);
close(fd);
free(closure->buf); free(closure->buf);
free(closure->command); free(closure->command);
@@ -93,32 +97,7 @@ intercept_closure_reset(struct intercept_closure *closure)
free(closure->run_envp[n]); free(closure->run_envp[n]);
free(closure->run_envp); free(closure->run_envp);
} }
sudo_ev_del(NULL, &closure->ev);
/* Reset all but the event (which we may reuse). */
closure->errstr = NULL;
closure->command = NULL;
closure->run_argv = NULL;
closure->run_envp = NULL;
closure->buf = NULL;
closure->len = 0;
closure->policy_result = -1;
debug_return;
}
/*
* Close intercept fd and free closure.
* Called on EOF from sudo_intercept.so due to program exit.
*/
static void
intercept_close(int fd, struct intercept_closure *closure)
{
debug_decl(intercept_close, SUDO_DEBUG_EXEC);
intercept_closure_reset(closure);
free(closure); free(closure);
close(fd);
debug_return; debug_return;
} }