diff options
author | aszlig <aszlig@nix.build> | 2018-09-23 20:32:19 +0200 |
---|---|---|
committer | aszlig <aszlig@nix.build> | 2018-09-25 06:55:18 +0200 |
commit | b25b6e0c75867cd0ae9866b7a8f0d6e3a4be54d5 (patch) | |
tree | f89167a8d757ad22d2ddf38086e292e13ee332cf /pkgs/stdenv/generic | |
parent | 2b4b7d4ef3bba661fbafbced814a8b39c65ea81a (diff) | |
download | nixlib-b25b6e0c75867cd0ae9866b7a8f0d6e3a4be54d5.tar nixlib-b25b6e0c75867cd0ae9866b7a8f0d6e3a4be54d5.tar.gz nixlib-b25b6e0c75867cd0ae9866b7a8f0d6e3a4be54d5.tar.bz2 nixlib-b25b6e0c75867cd0ae9866b7a8f0d6e3a4be54d5.tar.lz nixlib-b25b6e0c75867cd0ae9866b7a8f0d6e3a4be54d5.tar.xz nixlib-b25b6e0c75867cd0ae9866b7a8f0d6e3a4be54d5.tar.zst nixlib-b25b6e0c75867cd0ae9866b7a8f0d6e3a4be54d5.zip |
stdenv: Improve ELF detection for isELF
The isELF function only checks whether ELF is contained within the first 4 bytes of the file, which is a bit fuzzy and will also return successful if it's a text file starting with ELF, for example: ELF headers ----------- Some text here about ELF headers... So instead, we're now doing a precise match on \x7fELF. Signed-off-by: aszlig <aszlig@nix.build> Acked-by: @Ericson2314 Closes: https://github.com/NixOS/nixpkgs/pull/47244
Diffstat (limited to 'pkgs/stdenv/generic')
-rw-r--r-- | pkgs/stdenv/generic/setup.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 11d0f1fbce43..8af369b1d17d 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -211,7 +211,7 @@ isELF() { exec {fd}< "$fn" read -r -n 4 -u "$fd" magic exec {fd}<&- - if [[ "$magic" =~ ELF ]]; then return 0; else return 1; fi + if [ "$magic" = $'\177ELF' ]; then return 0; else return 1; fi } # Return success if the specified file is a script (i.e. starts with |