aboutsummaryrefslogtreecommitdiff
path: root/net/rsync/files
diff options
context:
space:
mode:
authorOliver Eikemeier <eik@FreeBSD.org>2004-05-03 11:15:21 +0000
committerOliver Eikemeier <eik@FreeBSD.org>2004-05-03 11:15:21 +0000
commitb87c03011b983d431920d94a4562f600d73e949e (patch)
tree0c8bae77c473d0b0294a7cf831dc553c4382e25e /net/rsync/files
parent43edf066a642f5301c557af908ac978a71c44ab9 (diff)
Notes
Diffstat (limited to 'net/rsync/files')
-rw-r--r--net/rsync/files/patch-flist.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/net/rsync/files/patch-flist.c b/net/rsync/files/patch-flist.c
new file mode 100644
index 000000000000..a3c92a756169
--- /dev/null
+++ b/net/rsync/files/patch-flist.c
@@ -0,0 +1,24 @@
+#
+# fix --delete SEGV
+# <http://lists.samba.org/archive/rsync/2004-May/009380.html>
+#
+--- 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)
+