From f9f0cdae8a071fb5ac68997f40b5b2a99e72ec17 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Wed, 18 Dec 2024 14:12:22 +0200 Subject: [PATCH] xzdec: Call tuklib_progname_init() early enough If the early pledge() call on OpenBSD fails, it calls my_errorf() which requires the "progname" variable. Fixes: d74fb5f060b76db709b50f5fd37490394e52f975 (cherry picked from commit 4e936f234056e5831013ed922145b666b04bb1e3) --- src/xzdec/xzdec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/xzdec/xzdec.c b/src/xzdec/xzdec.c index a75ea42a..49d47bb2 100644 --- a/src/xzdec/xzdec.c +++ b/src/xzdec/xzdec.c @@ -391,6 +391,9 @@ error: int main(int argc, char **argv) { + // Initialize progname which we will be used in error messages. + tuklib_progname_init(argv); + #ifdef HAVE_PLEDGE // OpenBSD's pledge(2) sandbox. // Initially enable the sandbox slightly more relaxed so that @@ -416,9 +419,6 @@ main(int argc, char **argv) (void)prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); #endif - // Initialize progname which we will be used in error messages. - tuklib_progname_init(argv); - // Parse the command line options. parse_options(argc, argv);