GNU bug report logs -
#22856
"make check" can start a shell on binary data
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#22856: "make check" can start a shell on binary data
which was filed against the automake package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 22856 <at> debbugs.gnu.org.
--
22856: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22856
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Sorry, forget this bug report. After wondering where the problem came
from exactly, I've eventually found that this is some incredible bug
in dash!
--
Vincent Lefèvre <vincent <at> vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
[Message part 3 (message/rfc822, inline)]
When I cross-compile for Windows and run "make check" without
LOG_COMPILER=wine (by mistake), strange files appear.
For instance, as a simple example with MPFR:
cventin:...re/mpfr-3.1/tests> make tadd.log
FAIL: tadd.exe
The failure is expected, but I get:
-rw-r--r-- 1 491 2016-02-29 19:39:24 tadd.log
-rw-r--r-- 1 84 2016-02-29 19:39:24 tadd.trs
-rw-r--r-- 1 0 2016-02-29 19:39:24 \220\324V\366
Created files like "\220\324V\366" are very annoying. In particular,
they make svn unusable.
tadd.log contains:
./tadd.exe: 1: ./tadd.exe: MZ��¸@º´: not found
./tadd.exe: 2: ./tadd.exe: : not found
./tadd.exe: 1: ./tadd.exe: @.bss : not found
./tadd.exe: 1: ./tadd.exe: .textd*,: not found
./tadd.exe: 3: ./tadd.exe: JPL2@�.idata: not found
./tadd.exe: 3: ./tadd.exe: u
: not found
./tadd.exe: 4: ./tadd.exe: ~@0�.CRT4�@0�.tls: not found
./tadd.exe: 5: ./tadd.exe: @B/81P: not found
./tadd.exe: 13: ./tadd.exe: Syntax error: Missing '}'
FAIL tadd.exe (exit status: 2)
So, it appears that tadd.exe (which is a binary[*]) was executed
by a shell!
[*]
$ file tadd.exe
tadd.exe: PE32 executable (console) Intel 80386, for MS Windows
This is confirmed by strace:
[...]
10517 execve("./tadd.exe", ["./tadd.exe"], [/* 116 vars */]) = -1 ENOEXEC (Exec format error)
10517 execve("/bin/sh", ["/bin/sh", "./tadd.exe"], [/* 116 vars */]) = 0
[...]
Concerning the Makefile in the tests:
# Makefile.in generated by automake 1.15 from Makefile.am.
# tests/Makefile. Generated from Makefile.in by configure.
This is under Debian/unstable.
--
Vincent Lefèvre <vincent <at> vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
This bug report was last modified 9 years and 168 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.