46 lines
1.1 KiB
Diff
46 lines
1.1 KiB
Diff
--- rsync-2.6.9/flist.c 2007-02-18 19:25:08.000000000 -0500
|
|
+++ rsync-2.6.9.fix/flist.c 2007-02-18 19:24:38.000000000 -0500
|
|
@@ -998,7 +998,7 @@
|
|
file->mode = tweak_mode(file->mode, chmod_modes);
|
|
|
|
#ifdef SUPPORT_ACLS
|
|
- if (preserve_acls) {
|
|
+ if (preserve_acls && f >= 0) {
|
|
sx.st.st_mode = file->mode;
|
|
sx.acc_acl = sx.def_acl = NULL;
|
|
if (get_acl(fname, &sx) < 0)
|
|
@@ -1006,7 +1006,7 @@
|
|
}
|
|
#endif
|
|
#ifdef SUPPORT_XATTRS
|
|
- if (preserve_xattrs) {
|
|
+ if (preserve_xattrs && f >= 0) {
|
|
sx.xattr = NULL;
|
|
if (get_xattr(fname, &sx) < 0)
|
|
return NULL;
|
|
@@ -1021,20 +1021,20 @@
|
|
flist->files[flist->count++] = file;
|
|
send_file_entry(file, f);
|
|
#ifdef SUPPORT_ACLS
|
|
- if (preserve_acls)
|
|
+ if (preserve_acls && f >= 0)
|
|
send_acl(&sx, f);
|
|
#endif
|
|
#ifdef SUPPORT_XATTRS
|
|
- if (preserve_xattrs)
|
|
+ if (preserve_xattrs && f >= 0)
|
|
send_xattr(&sx, f);
|
|
#endif
|
|
} else {
|
|
#ifdef SUPPORT_ACLS
|
|
- if (preserve_acls)
|
|
+ if (preserve_acls && f >= 0)
|
|
free_acl(&sx);
|
|
#endif
|
|
#ifdef SUPPORT_XATTRS
|
|
- if (preserve_xattrs)
|
|
+ if (preserve_xattrs && f >= 0)
|
|
free_xattr(&sx);
|
|
#endif
|
|
}
|