Changes in extended header decoder

* src/xheader.c (decode_time): Fix error detection.
(raw_path_decoder): Ignore empty paths.
This commit is contained in:
Sergey Poznyakoff
2023-02-11 14:21:05 +02:00
parent edf38d13a4
commit 5e8a915b16

View File

@@ -1059,6 +1059,12 @@ decode_time (struct timespec *ts, char const *arg, char const *keyword)
keyword, arg)); keyword, arg));
return false; return false;
} }
if (*arg_lim)
{
ERROR ((0, 0, _("Malformed extended header: invalid %s=%s"),
keyword, arg));
return false;
}
*ts = t; *ts = t;
return true; return true;
@@ -1247,9 +1253,12 @@ path_coder (struct tar_stat_info const *st, char const *keyword,
static void static void
raw_path_decoder (struct tar_stat_info *st, char const *arg) raw_path_decoder (struct tar_stat_info *st, char const *arg)
{ {
decode_string (&st->orig_file_name, arg); if (*arg)
decode_string (&st->file_name, arg); {
st->had_trailing_slash = strip_trailing_slashes (st->file_name); decode_string (&st->orig_file_name, arg);
decode_string (&st->file_name, arg);
st->had_trailing_slash = strip_trailing_slashes (st->file_name);
}
} }