From: Tobias Stoeckmann Date: Mon, 23 Feb 2026 18:57:34 +0000 (+0100) Subject: lib/pager: Handle dup errors X-Git-Tag: v2.43-devel~51^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4de94662efe7cdb5d4a2bc55662110cb29653177;p=thirdparty%2Futil-linux.git lib/pager: Handle dup errors If dup fails, e.g. due to open file descriptor limitations, gracefully handle the situation and do not start the pager. Signed-off-by: Tobias Stoeckmann --- diff --git a/lib/pager.c b/lib/pager.c index 3dc213dc9..81111830a 100644 --- a/lib/pager.c +++ b/lib/pager.c @@ -249,11 +249,14 @@ void pager_open(void) pager_process.org_out = dup(STDOUT_FILENO); pager_process.org_err = dup(STDERR_FILENO); - __setup_pager(); + if (pager_process.org_out != -1 && pager_process.org_err != -1) + __setup_pager(); if (!pager_process.pid) { - close(pager_process.org_out); - close(pager_process.org_err); + if (pager_process.org_out != -1) + close(pager_process.org_out); + if (pager_process.org_err != -1) + close(pager_process.org_err); memset(&pager_process, 0, sizeof(pager_process)); } }