mirror of
https://github.com/systemd/systemd
synced 2024-10-15 12:34:37 +00:00
journal-remote: make specified output file absolute
After f12b399dd6
, the output path is
also used to determine the directory to be vacuumed. And if a filename
only path is specified, `writer_new()` fails since the commit.
This makes the specified path is always made absolute. This should not
change any behavior before the offending commit, as `journal_open()` opens
the specified journal file with `AT_FDCWD`.
Fixes #27012.
This commit is contained in:
parent
8ee2fd9050
commit
7276d98cd2
|
@ -42,7 +42,7 @@ static int http_socket = -1, https_socket = -1;
|
|||
static char** arg_gnutls_log = NULL;
|
||||
|
||||
static JournalWriteSplitMode arg_split_mode = _JOURNAL_WRITE_SPLIT_INVALID;
|
||||
static const char* arg_output = NULL;
|
||||
static char *arg_output = NULL;
|
||||
|
||||
static char *arg_key = NULL;
|
||||
static char *arg_cert = NULL;
|
||||
|
@ -62,6 +62,7 @@ STATIC_DESTRUCTOR_REGISTER(arg_gnutls_log, strv_freep);
|
|||
STATIC_DESTRUCTOR_REGISTER(arg_key, freep);
|
||||
STATIC_DESTRUCTOR_REGISTER(arg_cert, freep);
|
||||
STATIC_DESTRUCTOR_REGISTER(arg_trust, freep);
|
||||
STATIC_DESTRUCTOR_REGISTER(arg_output, freep);
|
||||
|
||||
static const char* const journal_write_split_mode_table[_JOURNAL_WRITE_SPLIT_MAX] = {
|
||||
[JOURNAL_WRITE_SPLIT_NONE] = "none",
|
||||
|
@ -957,7 +958,9 @@ static int parse_argv(int argc, char *argv[]) {
|
|||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
|
||||
"cannot use --output/-o more than once");
|
||||
|
||||
arg_output = optarg;
|
||||
r = parse_path_argument(optarg, /* suppress_root = */ false, &arg_output);
|
||||
if (r < 0)
|
||||
return r;
|
||||
break;
|
||||
|
||||
case ARG_SPLIT_MODE:
|
||||
|
|
Loading…
Reference in a new issue