fixed a bug in the handling of very long filenames (longer than 255
authorAndrew Tridgell <tridge@samba.org>
Tue, 26 May 1998 14:39:18 +0000 (14:39 +0000)
committerAndrew Tridgell <tridge@samba.org>
Tue, 26 May 1998 14:39:18 +0000 (14:39 +0000)
chars) where two neighboring filenames share more than 255 characters
at the start of their names.

flist.c

diff --git a/flist.c b/flist.c
index 9ebed25..a185082 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -163,7 +163,7 @@ void send_file_entry(struct file_struct *file,int f,unsigned base_flags)
   if (file->gid == last_gid) flags |= SAME_GID;
   if (file->modtime == last_time) flags |= SAME_TIME;
 
-  for (l1=0;lastname[l1] && fname[l1] == lastname[l1];l1++) ;
+  for (l1=0;lastname[l1] && (fname[l1] == lastname[l1]) && (l1 < 255);l1++) ;  
   l2 = strlen(fname) - l1;
 
   if (l1 > 0) flags |= SAME_NAME;