I recently found a bug in the xattrs patch, where it would apply the
wrong xattrs to some files in a transfer.  While looking at the code,
I think I found another one (it sure looks wrong, but I haven't
figured out how to demonstrate it yet).  Anyway, here's the patch:

The first hunk fixes the apparent bug.  The second hunk fixes the
demonstratable bug.

I haven't (yet) looked to see if the acls patch (which I based the
xattrs patch on) has the same bug(s).

                        -- JF


--- rsync-2.6.8/patches/#xattrs.diff~   2006-06-09 22:00:05.000000000 -0400
+++ rsync-2.6.8/patches/xattrs.diff     2006-06-09 22:00:38.000000000 -0400
@@ -372,7 +372,7 @@
  transfer.  The resulting value is treated as though it was the permissions
 --- old/xattr.c
 +++ new/xattr.c
-@@ -0,0 +1,523 @@
+@@ -0,0 +1,524 @@
 +/* Extended Attribute support for rsync */
 +/* Copyright (C) 2004 Red Hat, Inc */
 +/* Written by Jay Fenlason, vaguely based on the ACLs patch */
@@ -590,10 +590,10 @@
 +              strcpy(ptr, name);
 +              if (datum_size)
 +                      memcpy(ptr + len, datumbuf, datum_size);
-+              x->rxas[curr_rsync_xal.count].name_len = len;
-+              x->rxas[curr_rsync_xal.count].name = ptr;
-+              x->rxas[curr_rsync_xal.count].datum_len = datum_size;
-+              x->rxas[curr_rsync_xal.count].datum = ptr + len;
++              x->rxas[x->count].name_len = len;
++              x->rxas[x->count].name = ptr;
++              x->rxas[x->count].datum_len = datum_size;
++              x->rxas[x->count].datum = ptr + len;
 +              x->count++;
 +      }
 +      if (x->count > 1) {
@@ -656,6 +656,7 @@
 +      rsync_xal_l.count++;
 +      curr_rsync_xal.count = 0;
 +      curr_rsync_xal.alloc = 0;
++      curr_rsync_xal.rxas = NULL;
 +}
 +
 +/* send the make_xattr()-generated xattr list for this flist entry,
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to