diff options
author | Dustin C. Hatch <dustin@hatch.name> | 2016-02-18 19:18:13 -0600 |
---|---|---|
committer | William Hubbs <w.d.hubbs@gmail.com> | 2016-02-19 15:25:53 -0600 |
commit | beaa71df0ab2cfa61beba4be0303099aa6c75e6a (patch) | |
tree | a75e044934a6ec2fbf572e345a5527281071730d /sh | |
parent | 7eaf71176b87ae69bfa622aa621341a19a9d32b0 (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')
-rw-r--r-- | sh/binfmt.sh.in | 2 |
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 ;; |