From: Sergey Poznyakoff Date: Tue, 10 Nov 2015 16:25:47 +0000 (+0200) Subject: Fix coredump on FreeBSD when TAR_OPTIONS is set X-Git-Tag: release_1_29~39 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=6167c23e22236d7872295089ad4e197697fadd97;p=debian%2Ftar 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. --- 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); }