X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/ea53d161be54a474088df51063df128ff5da5af4..2daed024b17a2cafb956e12581c25119d07a5950:/xattrs.c diff --git a/xattrs.c b/xattrs.c index 674d3578..1f3dcb36 100644 --- a/xattrs.c +++ b/xattrs.c @@ -751,7 +751,7 @@ void uncache_tmp_xattrs(void) rsync_xal_l.count = prior_xattr_count; while (xattr_item-- > xattr_start) { rsync_xal_free(xattr_item); - free(xattr_item); + free(xattr_item->items); } prior_xattr_count = (size_t)-1; } @@ -989,7 +989,7 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode) fst.st_mode &= (_S_IFMT | CHMOD_BITS); fmode = new_mode & (_S_IFMT | CHMOD_BITS); - if (IS_DEVICE(fmode) || IS_SPECIAL(fmode)) { + if (IS_DEVICE(fmode)) { uint32 *devp = F_RDEV_P(file); rdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp)); } else @@ -1000,7 +1000,7 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode) | (S_ISDIR(fst.st_mode) ? 0700 : 0600); if (fst.st_mode != mode) do_chmod(fname, mode); - if (!IS_DEVICE(fst.st_mode) && !IS_SPECIAL(fst.st_mode)) + if (!IS_DEVICE(fst.st_mode)) fst.st_rdev = 0; /* just in case */ if (mode == fmode && fst.st_rdev == rdev