Blame SOURCES/cve-2022-1271-part3.patch

226fcd
From c99f320d5c0fd98fe88d9cea5407eb7ad9d50e8a Mon Sep 17 00:00:00 2001
226fcd
From: Paul Eggert <eggert@cs.ucla.edu>
226fcd
Date: Mon, 4 Apr 2022 23:52:49 -0700
226fcd
Subject: zgrep: port to POSIX sed
226fcd
MIME-Version: 1.0
226fcd
Content-Type: text/plain; charset=UTF-8
226fcd
Content-Transfer-Encoding: 8bit
226fcd
226fcd
* zgrep.in (res): When escaping the file name do not rely on GNU
226fcd
sed’s extension to POSIX with respect to s/.../\n/.  Instead, use
226fcd
features that should also work with AIX and/or Solaris sed.  This is
226fcd
simpler anyway, and would have prevented the recently-fixed bug.
226fcd
---
226fcd
 zgrep.in | 15 ++++-----------
226fcd
 1 file changed, 4 insertions(+), 11 deletions(-)
226fcd
226fcd
diff --git a/zgrep.in b/zgrep.in
226fcd
index bdf7da2..6a16dd1 100644
226fcd
--- a/zgrep.in
226fcd
+++ b/zgrep.in
226fcd
@@ -220,18 +220,11 @@ do
226fcd
       case $i in
226fcd
       (*'
226fcd
 '* | *'&'* | *'\'* | *'|'*)
226fcd
-        i=$(printf '%s\n' "$i" |
226fcd
-            sed '
226fcd
-              :start
226fcd
-              $!{
226fcd
-                N
226fcd
-                b start
226fcd
-              }
226fcd
-              s/[&\|]/\\&/g
226fcd
-              s/\n/\\n/g
226fcd
-            ');;
226fcd
+          icolon=$(printf '%s\n' "$i:" |
226fcd
+                     sed -e 's/[&\|]/\\&/g' -e '$!s/$/\\/');;
226fcd
+      (*) icolon="$i:";;
226fcd
       esac
226fcd
-      sed_script="s|^|$i:|"
226fcd
+      sed_script="s|^|$icolon|"
226fcd
 
226fcd
       # Fail if grep or sed fails.
226fcd
       r=$(
226fcd
-- 
226fcd
cgit v1.1
226fcd