xzgrep: Make the fix for ZDI-CAN-16587 more robust.

I don't know if this can make a difference in the real world
but it looked kind of suspicious (what happens with sed
implementations that cannot process very long lines?).
At least this commit shouldn't make it worse.
This commit is contained in:
Lasse Collin 2022-07-19 00:10:55 +03:00
parent bd7b290f3f
commit a648978b20
1 changed files with 4 additions and 1 deletions

View File

@ -223,7 +223,10 @@ for i; do
case $i in case $i in
(*' (*'
'* | *'&'* | *'\'* | *'|'*) '* | *'&'* | *'\'* | *'|'*)
i=$(printf '%s\n' "$i" | LC_ALL=C sed 's/[&\|]/\\&/g; $!s/$/\\/');; # If sed fails, set i to a known safe string to ensure that
# failing sed didn't create a half-escaped dangerous string.
i=$(printf '%s\n' "$i" | LC_ALL=C sed 's/[&\|]/\\&/g; $!s/$/\\/') ||
i='(unknown filename):';;
esac esac
# $i already ends with a colon so don't add it here. # $i already ends with a colon so don't add it here.