[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Fri Dec 16 10:09:26 MST 2011


The branch, master has been updated
       via  a3b62ff Avoid double-free of xattr/acl data in real_sx. Fixes bug 8665.
      from  60ef397 Mention that %a and %h are daemon-only escapes.

;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit a3b62ff4cf1175a52c851d196b94aa378976621d
Author: Wayne Davison <wayned at samba.org>
Date:   Fri Dec 16 09:03:25 2011 -0800

    Avoid double-free of xattr/acl data in real_sx.
    Fixes bug 8665.

-----------------------------------------------------------------------

Summary of changes:
 generator.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/generator.c b/generator.c
index df690da..e05d889 100644
--- a/generator.c
+++ b/generator.c
@@ -1349,8 +1349,9 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
 				dry_missing_dir = file;
 			file->flags |= FLAG_MISSING_DIR;
 		}
+		init_stat_x(&real_sx);
+		real_sx.st = sx.st;
 		real_ret = statret;
-		real_sx = sx;
 		if (file->flags & FLAG_DIR_CREATED)
 			statret = -1;
 		if (!preserve_perms) { /* See comment in non-dir code below. */
@@ -1653,8 +1654,9 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
 		}
 	}
 
+	init_stat_x(&real_sx);
+	real_sx.st = sx.st; /* Don't copy xattr/acl pointers, as they would free wrong. */
 	real_ret = statret;
-	real_sx = sx;
 
 	if (partial_dir && (partialptr = partial_dir_fname(fname)) != NULL
 	    && link_stat(partialptr, &partial_st, 0) == 0


-- 
The rsync repository.


More information about the rsync-cvs mailing list