Don't read from name[-1].
* src/incremen.c (make_directory): Handle namelen == 0, since
find_directory_meta calls make_directory ("").
This commit is contained in:
12
ChangeLog
12
ChangeLog
@@ -1,3 +1,9 @@
|
||||
2007-11-12 Jim Meyering <meyering@redhat.com>
|
||||
|
||||
Don't read from name[-1].
|
||||
* src/incremen.c (make_directory): Handle namelen == 0, since
|
||||
find_directory_meta calls make_directory ("").
|
||||
|
||||
2007-11-07 Sergey Poznyakoff <gray@gnu.org.ua>
|
||||
|
||||
* bootstrap (checkout): Use URL of the gnulib CVS mirror.
|
||||
@@ -11,7 +17,7 @@
|
||||
TAR_BLOCKING_FACTOR environment variable.
|
||||
* doc/tar.texi: Update
|
||||
* NEWS: Update
|
||||
|
||||
|
||||
2007-10-30 Sergey Poznyakoff <gray@gnu.org.ua>
|
||||
|
||||
* doc/Makefile.am: Use texi2html and the CVS version of gendocs.sh
|
||||
@@ -41,9 +47,9 @@
|
||||
* src/system.c (sys_exec_checkpoint_script): New function.
|
||||
(sys_exec_info_script): Restore SIGPIPE handler.
|
||||
* src/tar.c: (parse_opt): New options --hard-dereference,
|
||||
--checkpoint-action.
|
||||
--checkpoint-action.
|
||||
(decode_options): Call checkpoint_finish_compile.
|
||||
|
||||
|
||||
* src/system.c (sys_exec_info_script): Initialize buf. Problem
|
||||
reported by Bengt-Arne Fjellner.
|
||||
|
||||
|
||||
@@ -124,8 +124,8 @@ make_directory (const char *name)
|
||||
directory->orig = NULL;
|
||||
directory->flags = false;
|
||||
strcpy (directory->name, name);
|
||||
if (ISSLASH (directory->name[namelen-1]))
|
||||
directory->name[namelen-1] = 0;
|
||||
if (namelen && ISSLASH (directory->name[namelen - 1]))
|
||||
directory->name[namelen - 1] = 0;
|
||||
directory->tagfile = NULL;
|
||||
return directory;
|
||||
}
|
||||
@@ -336,7 +336,7 @@ procdir (char *name_buffer, struct stat *stat_data,
|
||||
|
||||
{
|
||||
const char *tag_file_name;
|
||||
|
||||
|
||||
switch (check_exclusion_tags (name_buffer, &tag_file_name))
|
||||
{
|
||||
case exclusion_tag_all:
|
||||
@@ -355,13 +355,13 @@ procdir (char *name_buffer, struct stat *stat_data,
|
||||
_("contents not dumped"));
|
||||
directory->children = NO_CHILDREN;
|
||||
break;
|
||||
|
||||
|
||||
case exclusion_tag_under:
|
||||
exclusion_tag_warning (name_buffer, tag_file_name,
|
||||
_("contents not dumped"));
|
||||
directory->tagfile = tag_file_name;
|
||||
break;
|
||||
|
||||
|
||||
case exclusion_tag_none:
|
||||
break;
|
||||
}
|
||||
@@ -507,7 +507,7 @@ scan_directory (char *dir, dev_t device)
|
||||
size_t name_length; /* used length in name_buffer */
|
||||
struct stat stat_data;
|
||||
struct directory *directory;
|
||||
|
||||
|
||||
if (! dirp)
|
||||
savedir_error (dir);
|
||||
|
||||
@@ -531,7 +531,7 @@ scan_directory (char *dir, dev_t device)
|
||||
|
||||
directory = procdir (name_buffer, &stat_data, device, NO_CHILDREN, false,
|
||||
NULL);
|
||||
|
||||
|
||||
if (dirp && directory->children != NO_CHILDREN)
|
||||
{
|
||||
char *entry; /* directory entry being scanned */
|
||||
@@ -1416,12 +1416,12 @@ try_purge_directory (char const *directory_name)
|
||||
This is an extra safety precaution. Besides, it might be
|
||||
necessary to extract from archives created with tar versions
|
||||
prior to 1.19. */
|
||||
|
||||
|
||||
if (*src)
|
||||
src = safer_name_suffix (src, false, absolute_names_option);
|
||||
if (*dst)
|
||||
dst = safer_name_suffix (dst, false, absolute_names_option);
|
||||
|
||||
|
||||
if (*src == 0)
|
||||
src = temp_stub;
|
||||
else if (*dst == 0)
|
||||
|
||||
Reference in New Issue
Block a user