Package: tar
Version: 1.23-1
Severity: important

When doing an incremental backup using --listed-incremental that includes
the root directory, tar segfaults.

Example:

## create the full backup
tar --create --one-file-system --file /tmp/tartest.tar \
    --listed-incremental /tmp/tartest.list --exclude /tmp /
## do the incremental backup -- this crashes
tar --create --one-file-system --file /tmp/tartest2.tar \
    --listed-incremental /tmp/tartest.list --exclude /tmp /

I built a debug version of tar, and got this backtrace:

Program received signal SIGSEGV, Segmentation fault.
hash_string (string=0x0, n_buckets=53) at hash.c:427
427       for (; (ch = *string); string++)
(gdb) bt
#0  hash_string (string=0x0, n_buckets=53) at hash.c:427
#1  0x000000000042d156 in hash_find_entry (table=0x65b950, entry=0x664ea0,
# bucket_head=0x7fffffffe078,
    delete=false) at hash.c:788
#2  0x000000000042d8a6 in hash_insert (table=0x65b950, entry=0x664ea0) at
hash.c:1042
#3  0x0000000000412881 in note_directory (name=<value optimized out>,
# mtime=..., dev=2304, ino=2, nfs=false,
    found=false, contents=0x65afb0 "Nbin") at incremen.c:327
#4  0x000000000041400c in read_incr_db_2 () at incremen.c:1267
#5  read_directory_file () at incremen.c:1343
#6  0x0000000000418aea in collect_and_sort_names () at names.c:904
#7  0x000000000040bce2 in create_archive () at create.c:1283
#8  0x000000000041dc9d in main (argc=<value optimized out>, argv=<value
#optimized out>) at tar.c:2605

Looking at the code in the call tree and comparing that with the contents of
the incremental list file, this appears to be because the listed incremental
has an empty string stored for the name of the root directory, instead of
"/", even if --absolute-names is used.

This crash was not present in tar 1.22, but the incremental list files
exhibited the same empty string behavior in that version (I first saw the
crash doing an incremental backup using tar 1.23 after a full backup that
was created with tar 1.22).

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32.5-1 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages tar depends on:
ii  libc6                         2.10.2-6   Embedded GNU C Library: Shared lib

tar recommends no packages.

Versions of packages tar suggests:
ii  bzip2             1.0.5-4                high-quality block-sorting file co
ii  lzma              4.43-14                Compression method of 7z format in
pn  ncompress         <none>                 (no description available)
ii  xz-utils          4.999.9beta+20100307-1 XZ-format compression utilities

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to