Re: [PATCH] Avoid bug in Solaris xpg4/sed as used in submodule
- From
Andreas Schwab <schwab@linux-m68k.org>
- Date
- Apr 9, 2012, 15:09 UTC
- Message-ID
- <m2fwcdc57q.fsf@igel.home>
- In-Reply-To
- <1333977812-sup-4111@pinkfloyd.chass.utoronto.ca>
Ben Walton <bwalton@artsci.utoronto.ca> writes:
Show 20 quoted lines
> Excerpts from Andreas Schwab's message of Mon Apr 09 02:40:03 -0400 2012: > >> How about using 's|[^/][^/]*|..|g' instead, which should avoid the bug >> as well. > > I'd be ok with that change if the changed semantics of the regex are > ok in this application. It's essentially the same as s|[^/]+|..|g, > which requires at least one character. > > In the current code, if you do: > > echo '/' | sed -e 's|[^]*|..|g' > > you get: ../.. (from a working implementation). > > Your regex would see the result be: / > > I don't think we'd ever be passing a plain /, but we might pass a > fully qualified path /path/to/foo, which would see the result change > from ../../../.. to /../../.. and that could have unintended impact.
AFAICS the variables at this point never contain a value with a leading slash.
Andreas.
-- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."