Commit 33469c8c authored by Pierre Smeyers's avatar Pierre Smeyers
Browse files

fix: envsubst when variable contains a '&'

parent b4242a37
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -295,7 +295,8 @@ stages:
  }

  function awkenvsubst() {
    awk '!/# *nosubst/{while(match($0,"[$%]{[^}]*}")) {var=substr($0,RSTART+2,RLENGTH-3);val=ENVIRON[var]; gsub(/["\\]/,"\\\\&",val); gsub("\n","\\n",val);gsub("\r","\\r",val); gsub("[$%]{"var"}",val)}}1'
    # performs variables escaping: '&' for gsub + JSON chars ('\' and '"')
    awk '!/# *nosubst/{while(match($0,"[$%]{[^}]*}")) {var=substr($0,RSTART+2,RLENGTH-3);val=ENVIRON[var];gsub(/["\\&]/,"\\\\&",val);gsub("[$%]{"var"}",val)}}1'
  }

  function exec_hook() {