From 6167c23e22236d7872295089ad4e197697fadd97 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Tue, 10 Nov 2015 18:25:47 +0200 Subject: [PATCH] Fix coredump on FreeBSD when TAR_OPTIONS is set * src/tar.c (parse_default_options): Use program_name instead of program_invocation_short_name. On some systems the latter is NULL when the function is called, which causes coredumps. (tar_set_quoting_style): Likewise. * src/names.c: Likewise. --- src/names.c | 2 +- src/tar.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/names.c b/src/names.c index 78ad86e7..6e4616d6 100644 --- a/src/names.c +++ b/src/names.c @@ -472,7 +472,7 @@ handle_option (const char *str, struct name_elt const *ent) if (wordsplit (str, &ws, WRDSF_DEFFLAGS|WRDSF_DOOFFS)) FATAL_ERROR ((0, 0, _("cannot split string '%s': %s"), str, wordsplit_strerror (&ws))); - ws.ws_wordv[0] = program_invocation_short_name; + ws.ws_wordv[0] = (char *) program_name; loc.source = OPTS_FILE; loc.name = ent->v.file.name; loc.line = ent->v.file.line; diff --git a/src/tar.c b/src/tar.c index 83c72888..21b0a3bf 100644 --- a/src/tar.c +++ b/src/tar.c @@ -265,7 +265,7 @@ tar_set_quoting_style (char *arg) return; } FATAL_ERROR ((0, 0, - _("Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."), arg, program_invocation_short_name)); + _("Unknown quoting style '%s'. Try '%s --quoting-style=help' to get a list."), arg, program_name)); } @@ -2491,7 +2491,7 @@ parse_default_options (void) wordsplit_strerror (&ws))); if (ws.ws_wordc) { - ws.ws_wordv[0] = program_invocation_short_name; + ws.ws_wordv[0] = (char*) program_name; more_options (ws.ws_offs + ws.ws_wordc, ws.ws_wordv, &loc); } -- 2.47.2