Changes in extended header decoder
* src/xheader.c (decode_time): Fix error detection. (raw_path_decoder): Ignore empty paths.
This commit is contained in:
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user