On Sun, May 02, 2004 at 03:33:03PM -0500, Albert Chin wrote: > I'm getting a SEGV on a FreeBSD 4.8-STABLE box. The client is Solaris > 9/SPARC. Both boxes run 2.6.2. > > The command I'm running is: > $ rsync -arHRv --numeric-ids --delete --exclude=/opt/dist/cdrom \ > [paths] [server]:[path] > > If I whittle down what appears in [paths], then it works.
When the --delete option iterates over all the specified [paths] it clears the delete-file_list after each one. This makes the "lastdir" pointer no longer valid. The appended patch fixes this bug and also a similar bug that could affect the batch code. Thanks for the report. ..wayne..
--- flist.c 29 Apr 2004 19:37:15 -0000 1.218 +++ flist.c 3 May 2004 01:24:10 -0000 1.220 @@ -539,6 +539,7 @@ void receive_file_entry(struct file_stru rdev_major = 0; uid = 0, gid = 0; *lastname = '\0'; + lastdir_len = -1; return; } @@ -745,7 +746,7 @@ struct file_struct *make_file(char *fnam char *basename, *dirname, *bp; unsigned short flags = 0; - if (!flist) /* lastdir isn't valid if flist is NULL */ + if (!flist || !flist->count) /* Ignore lastdir when invalid. */ lastdir_len = -1; if (strlcpy(thisname, fname, sizeof thisname)
-- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html