From: Tobias Stoeckmann Date: Wed, 4 Feb 2026 20:31:01 +0000 (+0100) Subject: lib/pager: Release resources on pager_open error X-Git-Tag: v2.43-devel~90^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=44072df7a09fed719fe63d3e92bb56ca9fe19276;p=thirdparty%2Futil-linux.git lib/pager: Release resources on pager_open error 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 --- diff --git a/lib/pager.c b/lib/pager.c index acace79f2..e802267d9 100644 --- a/lib/pager.c +++ b/lib/pager.c @@ -238,6 +238,12 @@ void pager_open(void) 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}.