svn commit: r364166 - head/usr.sbin/crunch/crunchgen
Rodney W. Grimes
freebsd at gndrsh.dnsmgr.net
Wed Aug 12 16:24:31 UTC 2020
> On 12 Aug 2020, at 17:10, Rodney W. Grimes <freebsd at gndrsh.dnsmgr.net> wrote:
> >
> >> Author: arichardson
> >> Date: Wed Aug 12 15:49:06 2020
> >> New Revision: 364166
> >> URL: https://svnweb.freebsd.org/changeset/base/364166
> >>
> >> Log:
> >> Fix crunchgen usage of mkstemp()
> >>
> >> On Glibc systems mkstemp can only be used once with the same template
> >> string since it will be modified in-place and no longer contain any 'X' chars.
> >> It is fine to reuse the same file here but we need to be explicit and use
> >> open() instead of mkstemp() on the second use.
> >>
> >> While touching this file also avoid a hardcoded /bin/pwd since that may not
> >> work when building on non-FreeBSD systems.
> >
> > This may cause some grief, as now pwd may use a shell builtin
> > and often shell builtin's return a cwd that is not a true
> > full path, ie it may contain symlink compontents in the
> > path.
> >
> > /bin/sh:
> >
> > # cd /tmp/b
> > # /bin/pwd
> > /tmp/a
> > # pwd
> > /tmp/b
> > # ls -lag /tmp/?
> > lrwxr-xr-x 1 root wheel 1 Aug 12 16:06 /tmp/b -> a
> >
> > /tmp/a:
> > total 17
> > drwxr-xr-x 2 root wheel 2 Aug 12 16:06 .
> > drwxrwxrwt 18 root wheel 248 Aug 12 16:06 ..
>
> There's the question of whether that really matters; both values are in
> some sense correct. But if you want to restore the old behaviour, I
> believe `env pwd` is the portable way to do so?
You have cut the context, but the code has a comment that
states it is doing this to remove symbolic links, so this
change infact undoes something that was being done intentionally.
I do believe also that a "env pwd" would do the right thing
as well.
--
Rod Grimes rgrimes at freebsd.org
More information about the svn-src-all
mailing list