Sophie

Sophie

distrib > Mandriva > 10.2 > x86_64 > by-pkgid > 77d133bd446acc0c3e510c3536e9be37 > files > 5

slocate-2.7-4.1.102mdk.src.rpm

--- slocate-2.7/main.c.long	2005-08-09 01:04:39.000000000 +0200
+++ slocate-2.7/main.c	2005-08-09 01:08:51.000000000 +0200
@@ -1078,8 +1078,12 @@
 		
 		if (!file)
 		    break;
-		
-		if (file->fts_info != FTS_DP && file->fts_info != FTS_NS) {
+
+		/* fts_read () from glibc fails with EOVERFLOW when fts_pathlen
+		   would overflow the u_short file->fts_pathlen. */
+		if (file->fts_info == FTS_D && file->fts_pathlen > 32768)
+			fts_set(dir,file,FTS_SKIP);
+		else if (file->fts_info != FTS_DP && file->fts_info != FTS_NS) {
 			
 			if ((EXCLUDE && !match_exclude(file->fts_path,"")) || !EXCLUDE)
 			    frcode(fd,file->fts_path,"");