A crash when syncing xattr with rsync-3.0.6

Amir Rapson amir.rapson at gmail.com
Mon Nov 30 05:46:49 MST 2009


Hi,

I have a crash running rsync-3.0.6 and using the -X flag.
The crash was in uncache_tmp_xattrs() when free was called on every
xattr_item. However, the rsync_xal_l.items is a buffer, not a list,
and so only the whole buffer should be freed, and not every item.

Can anyone with git access please fix this?

This is the patch:

--- rsync-3.0.6/xattrs.c        2009-11-30 14:16:53.501050939 +0200
+++ rsync-3.0.6/xattrs.c.new    2009-11-30 14:40:58.839777618 +0200
@@ -748,7 +748,6 @@
                rsync_xal_l.count = prior_xattr_count;
                while (xattr_item-- > xattr_start) {
                        rsync_xal_free(xattr_item);
-                       free(xattr_item);
                }
                prior_xattr_count = (size_t)-1;
        }



Thanks,
Amir


More information about the rsync mailing list