If __setup_pager is unable to spawn a new process, close the duplicated
file descriptors on error path. Also, for the sake of completeness,
clear all other fields in pager_process as well.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
pager_process.org_err = dup(STDERR_FILENO);
__setup_pager();
+
+ if (!pager_process.pid) {
+ close(pager_process.org_out);
+ close(pager_process.org_err);
+ memset(&pager_process, 0, sizeof(pager_process));
+ }
}
/* Close pager and restore original std{out,err}.