svn commit: r199844 - head/lib/libc/gen

Jaakko Heinonen jh at FreeBSD.org
Thu Nov 26 19:11:45 UTC 2009


Author: jh
Date: Thu Nov 26 19:11:44 2009
New Revision: 199844
URL: http://svn.freebsd.org/changeset/base/199844

Log:
  Reset path name back to original correctly in fts_build() when
  FTS_NOCHDIR option is used. fts_build() could strip a trailing slash
  from path name in post-order visit if a path pointing to an empty
  directory was given for fts_open().
  
  PR:		bin/133907, kern/134513
  Reviewed by:	das
  Approved by:	trasz (mentor)
  MFC after:	1 month

Modified:
  head/lib/libc/gen/fts.c

Modified: head/lib/libc/gen/fts.c
==============================================================================
--- head/lib/libc/gen/fts.c	Thu Nov 26 19:09:10 2009	(r199843)
+++ head/lib/libc/gen/fts.c	Thu Nov 26 19:11:44 2009	(r199844)
@@ -842,11 +842,8 @@ mem1:				saved_errno = errno;
 	 * If not changing directories, reset the path back to original
 	 * state.
 	 */
-	if (ISSET(FTS_NOCHDIR)) {
-		if (len == sp->fts_pathlen || nitems == 0)
-			--cp;
-		*cp = '\0';
-	}
+	if (ISSET(FTS_NOCHDIR))
+		sp->fts_path[cur->fts_pathlen] = '\0';
 
 	/*
 	 * If descended after called from fts_children or after called from


More information about the svn-src-all mailing list