Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Nov 2009 19:11:44 +0000 (UTC)
From:      Jaakko Heinonen <jh@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r199844 - head/lib/libc/gen
Message-ID:  <200911261911.nAQJBi37090783@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911261911.nAQJBi37090783>