Ben Walton <bwalton@xxxxxxxxxxxxxxxxxx> writes: > 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@xxxxxxxxxxxxxx GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html