When a hard-linked device is duplicating the data from the prior
authorWayne Davison <wayned@samba.org>
Sun, 11 Mar 2007 22:02:26 +0000 (22:02 +0000)
committerWayne Davison <wayned@samba.org>
Sun, 11 Mar 2007 22:02:26 +0000 (22:02 +0000)
device, we need to allocate 2 extra option slots for the device
numbers.

flist.c

diff --git a/flist.c b/flist.c
index ed23930..33b37b0 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -642,6 +642,7 @@ static struct file_struct *recv_file_entry(struct file_list *flist,
                 || (preserve_specials && IS_SPECIAL(mode))) {
                        uint32 *devp = F_RDEV_P(first);
                        rdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
                 || (preserve_specials && IS_SPECIAL(mode))) {
                        uint32 *devp = F_RDEV_P(first);
                        rdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
+                       extra_len += 2 * EXTRA_LEN;
                }
                if (preserve_links && S_ISLNK(mode))
                        linkname_len = strlen(F_SYMLINK(first)) + 1;
                }
                if (preserve_links && S_ISLNK(mode))
                        linkname_len = strlen(F_SYMLINK(first)) + 1;