aboutsummaryrefslogtreecommitdiff
path: root/sh/binfmt.sh.in
diff options
context:
space:
mode:
authorDustin C. Hatch <dustin@hatch.name>2016-02-18 19:18:13 -0600
committerWilliam Hubbs <w.d.hubbs@gmail.com>2016-02-19 15:25:53 -0600
commitbeaa71df0ab2cfa61beba4be0303099aa6c75e6a (patch)
treea75e044934a6ec2fbf572e345a5527281071730d /sh/binfmt.sh.in
parent7eaf71176b87ae69bfa622aa621341a19a9d32b0 (diff)
binfmt.sh: use read in raw mode
The read builtin in most shells will interpret backslash characters as escapes, and they are lost when reading binfmt files line-by-line. This causes magic strings containing backslashes to be mangled and become invalid, resulting in erroneous 'invalid entry' messages. The -r option to read disables special handling of backslashes and keeps all lines intact. X-Gentoo-Bug: 575114 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=575114
Diffstat (limited to 'sh/binfmt.sh.in')
-rw-r--r--sh/binfmt.sh.in2
1 files changed, 1 insertions, 1 deletions
diff --git a/sh/binfmt.sh.in b/sh/binfmt.sh.in
index fd422f83..be0ed482 100644
--- a/sh/binfmt.sh.in
+++ b/sh/binfmt.sh.in
@@ -22,7 +22,7 @@ apply_file() {
### FILE FORMAT ###
# See https://www.kernel.org/doc/Documentation/binfmt_misc.txt
- while read line; do
+ while read -r line; do
LINENUM=$(( LINENUM+1 ))
case $line in
\#*) continue ;;